列表

在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据.

列表的常用操作:包括索引,切片,增删改查等.

#首先申明3个列表
list_all = ['22','sylar','22','open','4','sklfj','open',16,'sjk113','skf_kjdk','open','skj*&%)','f_s2df']
list_num = [1,4,7,3,5,4]
list_alp = ['axod','sccde','lsoM','JLKSI','KDIiid'] #切片,是用index来获取列表的某个或几个元素,其中多个元素用[start:end:step]来获取,index是从0开始,-1,-2来表示列表的最右的后几位
print(list_all[0])
print(list_all[2:10:2])
print(list_all[7:-1])
print(list_all[7:])
print(list_all[:7]) #append 在列表末尾添加一个值
list_alp.append('append')
print(' append 方法--->:',list_alp) #count 记录一个值在列表中出现的次数
print(' count 方法--->:',list_all.count('open')) #copy复制一个列表
l_copy = list_all.copy()
print(l_copy) #clear清空列表
print(l_copy.clear()) #extend将两个表合并
list_all.extend(list_num)
print(' extend 方法--->:',list_all) #insert插入一个元素,可以指定index来确定元素的位置
list_alp.insert(2,'sylar')
print(' insert 方法--->:',list_alp) #index ,打印列表中某个值的index
print(' index 方法--->:',list_all.index('a')) #pop 删除列表中的元素,默认是最后一个
print(' pop 方法--->:',' pop--->:',list_all.pop(),' list_all--->:',list_all)
print(' pop 方法--->:',' pop--->:',list_all.pop(0),' list_all--->:',list_all)
#remove 删除列表中找到的值,如果有相同的只删除找到的第一个,如果值不存在会引发一个错误
print(' remove 方法--->:',list_all.remove('open'),' list_all--->:',list_all) #reverse 将列表的元素进行反向排序
print(' reverse 方法--->:',list_all.reverse(),list_all) #sort按照ASCII码给列表排序
print(' 方法--->:',list_all.sort(),list_all) #补充:一个循环列表比较好用的函数enumerate,可以快速获取列表的元素和对应的index
for index,item in enumerate(list_all):
print(index,item)
#或者:
for index,item in enumerate(list_all,1):
print(index,item)

元组

与列表类似的一个数据结构,不同在于元组的元素不能修改.需要注意的是元组的元素不能修改,但是元组的元素的元素是可以修改的.

元组的常用操作切片和列表一样,只是没有了修改元素的方法

#申明元组
tup1 = (1,2,3,['a','a', 'b']) #切片
print(tup1[0])
print(tup1[0:8:2])
print(tup1[3:-1])
print(tup1[3:])
print(tup1[:3]) #index获取元素的index值
print(tup1.index(2)) #count对相同元素进行统计
print(tup1.count(5)) #补充 元素的元素可以修改,深浅copy的经典案例
tup1[-1][1] = 'c'
print(tup1)

集合

由多个无序且不重复的多个元素组成数据结构.所以集合也没有index.通常用来做去重和关系测试工作!集合也是无序的

#申明集合使用set函数.可以是列表元组字符串等数据类型,
set_test1 = set(list_num)
print(set_test1)
set_test2 = set([2,4,45,43,3,6,0,98,9,7,6])
print(set_test2)
set_test3 = set('sylar')
print(set_test3)
set_test4 = set([1,3,5])
print('set4',set_test4) #集合常用操作,增删和关系测试 #add添加元素
set_test1.add(45)
print(set_test1) #copy,复制
set_copy = set_test1.copy()
print(set_copy) #clear清空
set_copy = set_copy.clear()
print(set_copy) #difference差集,在set_test1中有在set_test2没有
a = set_test1.difference(set_test2)
print(a) #intersection交集,在set_test1中有在set_test2也有的.
a = set_test1.intersection(set_test2)
print(set_test1 & set_test2)
print(a) #isdisjoint,在set_test4和set_test5中都没有相同的元素.则返回True,反之
set_test5 = set([2,4,6])
a = set_test4.isdisjoint(set_test5)
print(a) #issuperset父集issubset子集,判断一个集合是不是另外一个集合的父集或者子集.返回值True或者False
a = set_test1.issuperset(set_test4)
print(a)
a = set_test4.issubset(set_test1)
print(a) #pop删除并返回任意一个元素
a = set_test1.pop()
print(a) #remove删除指定元素
print(set_test1.remove(7)) #symmetric_difference对称差集,去除两个集合中都有的元素之后的结果
print(set_test1.symmetric_difference(set_test2)) #union并集两个集合组合到一起的结果
print(set_test1.union(set_test2)) #update只能把可迭代的对象加入原集合
set_test1.update(set_test5)
print(set_test1) #数学运算符&交集,|并集,- 差集,^ 对称差集
print(set_test1 & set_test2)
print(set_test1 | set_test2)
print(set_test1 - set_test2)
print(set_test1 ^ set_test2)

补充上面3种数据结构都可以使用的

#in判断元素是否在集合中
for i in set_test2:
print(i)
if 0 not in list_num:print('yes')

python基础(五)列表,元组,集合的更多相关文章

  1. Python基础2 列表 字典 集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. 【python基础】之元组 集合 字典

    元组 元组:元组和列表类似.但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序) 1.创建元组 t1 = () #创建一个空元组 t2 = (1, 2, 3) t3 = tupl ...

  3. Python基础知识--列表和集合

    列表:有序性,可以存放任意类型的对象,通过索引访问,可以分片操作 >>> L = ['id', 1000, 'scd', 1000, 'scd'] >>> L [' ...

  4. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  5. python基础之列表list元组tuple

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...

  6. python基础语法3 元组,字典,集合

    元组: ========================元组基本方法===========================用途:存储多个不同类型的值定义方式:用过小括号存储数据,数据与数据之间通过逗号 ...

  7. python基础数据类型--列表(list)

    python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增.删.改.查等操作 一列表的增.删.改.查 1增: 1.1增加到最后   append ...

  8. 初学Python(五)——元组

    初学Python(五)——元组 初学Python,主要整理一些学习到的知识点,这次是元组. #-*- coding:utf-8 -*- #定义元素 t = (1,2,3) #添加元素 #删除元素 #更 ...

  9. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

随机推荐

  1. OpenCV 读取视频 多种方式

    OpenCV中常见的视频方式是while循环读取,可是,当遇到嵌套循环呢 1.常见的while循环 ,没有嵌套循环 cv::VideoCapture capture("d:/test/dem ...

  2. POJ 2631 Roads in the North(树的直径)

    POJ 2631 Roads in the North(树的直径) http://poj.org/problem? id=2631 题意: 有一个树结构, 给你树的全部边(u,v,cost), 表示u ...

  3. MacBook 经常使用快捷键

    Mac OS X系统图形表示方法 ⇧ = shift ⌃ = control ⌥ = option / alt  Home=fn + ◄  End=fn + ►  Page Up=fn + ▲ Pag ...

  4. Android-Volley网络通信框架(ImageRequest,ImageLoader,NetWorkImageView)

    1.回想 上篇已经学习了,RequestQueue  , StringRequest ,JsonObjectRequest 的使用 2.重点 (1)Volley请求图片的三种方式 (2)ImageRe ...

  5. 获取手机是否root信息

    private String isRoot(){ String bool = "Root:false"; try{ if ((!new File("/system/bin ...

  6. 前端(各种demo)三:优惠券,热区,等模块的实现(css方式)

    各种样式的css实现 1.优惠券样式的实现: 2.热区的实现:   在电商平台上总会发出各种券,需要对应到不同的产品,对应到不同的服务.而使用券可以使用UED的设计稿里的照片,但是本来一次性的加载过多 ...

  7. Ajax 请求后打开新窗口被拦截的解决方案

    公司业务上有个场景,需请求后台获取支付链接地址,再打开地址引导用户购买.这样的场景在其他企业应该也很场景.但是遇到个很常见的问题,Ajax后直接用window.open(url),会被浏览器作为广告拦 ...

  8. vue路由

    vue-router 现在的应用都流行SPA应用(single page application) 传统的项目大多使用多页面结构,需要切换内容的时候我们往往会进行单个html文件的跳转,这个时候受网络 ...

  9. 微信小程序豆瓣电影项目的改造过程经验分享

    在学习微信小程序开发过程中,一部分的难点是前端逻辑的处理,也就是对前端JS的代码编辑:一部分的难点是前端界面的设计展示:本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和 ...

  10. check the manual that corresponds to your MySQL server version for the right syntax处理方案

    check the manual that corresponds to your MySQL server version for the right syntax:代码出现这样的bug,就要注意你 ...