1、列表 """ 列表的增删改查操作 列表是有序的,可变 有序:列表每个元素都有索引,从0开始 列表取值:列表的变量名[索引] 可变 增删改查 列表是一种数据结构,它有对应的函数(理解为关键字)进行操作 操作的方式 变量名+‘.’+方法名来操作 """ #定义一个列表lst1 lst1=[1,2,3,4,5] #查询列表长度 print(len(lst1)) #将列表反序后查询 lst1.reverse() print(lst1)
#查询列表第一个元素 print(lst1[0]) #查询列表中列表的元素 lst2=[100,3.14,True,'nihao',[1,2,3,4]] print(lst2[1]) print(lst2[4][2]) #操作列表,列表的增加,append(),在列表后面追加元素且一次只能添加一个元素,insert()一次只能插入一个元素,通过索引添加,原有元素向后移动一位,如果要一次添加多个元素采用列表和列表之间操作,合并列表,把元素一个一个放入到新列表种,extend(列表名) lst2.append('python') lst2.insert(0,'code') lst1.extend(lst2) print(lst1) #列表修改 列表名[下标]=新值 lst1[0]='001' print(lst1) #列表删除值,remove(),如果有多个就会删除最靠前的那一个 pop() 不带下标删除最后一个,带下标,删除下标所在值 lst1.remove(1) print(lst1) lst1.pop() print(lst1) lst1.pop(0) print(lst1)
#遍历列表,通过获取列表中的元素来遍历列表,或则通过获取列表中元素的下标来遍历列表 #如下获取列表中的元素来遍历列表,元素从第一个开始取值 lst11=[1,2,3,4,5] for i in lst11: print(i) #如下获取列表中元素的下标来遍历列表,下标从0开始,一直到len(lst12)-1 lst12=[1,2,3,4,5,6,7] i=0 while i<len(lst12): print(lst12[i]) i+=1
#复制一个列表可以通过列表切片的方式,尽量不要用赋值的方式复制,字符串是特殊的列表也可以切片,变量名[start:end:step] lst13=[100,3.14,True,'nihao',[1,2,3]] print(lst13[0:3]) print(lst13[:3]) print(lst13[0:]) print(lst13[0::2]) str='hello world' print(str[0:7])
#统计元素的个数 count(),统计元素的最大值 max(),统计元素的最小值min() lst14=[100,3.14,200,100,9] print(lst14.count(100)) print(max(lst14)) print(min(lst14))
2、字典
""" 字典 是具有键值对映射关系的一组无序的数据组合 key:value key不变,value可变 通过key可以获取到value的值 关键字 dict 无序 没有索引 一个字段里面的key不会重复 key:是唯一不能修改的数据,通常我们用str value 可以是任何类型的数据 """
dic={ "name":"小明", "sno":101, "cla":[211,212,213,214] }
#字典的新增:字典变量名["字典种不存在的key"]='新增的值' dic['addr']='深圳' print(dic)
#字典的修改:字典变量名["字典种存在的key"]="修改后的值" dic['name']='小红' print(dic)
#字典种删除:pop(key)通过key删除数据,key不能为空, popitem() 删除最后一位,从后向前删除, clear() 清空字典 dic.pop('addr') print(dic) dic.popitem() print(dic) dic.clear() print(dic)
3、元组
""" 元组的数据结构跟列表相似 1、有序的,可索引 2、标识符()里面的元素用逗号分割 3、关键字tuple 元组和列表最大的区别: 1、元组是不可变的 程序在运行中,无法通过手写的方式改变程序 2、没有增删改的操作,元组只能查 为什么要有元组存在? 元组在程序运行过程中不可变,安全 """ #元组中只有一个元素时,元素后面需要加逗号 tup=(1,) #元组只能查询,和列表一样通过下标查询 tp1=(1,2,3,4) print(tp1[1])
4、集合
""" 集合:集合{}内的元素不能重复,无序,集合和集合可以相加 集合操作:增删改查 add() pop() remove() discard() 集合运算:交集 intersection 并集 union 差集 difference 交叉补集 symmetric_difference """ set1={"我","喜欢","Python","code"} #集合可以转换为列表查询,但是因为集合是无序的,转换后查询的值也是会变化的,比如获取第一个值每次运行的结果不一样 lst=list(set1) print(lst[0]) #add() 新增 discard()删除时不存在的情况不会报错,remove()删除时不存在的情况会报错 set1.add('nihao') set1.pop() set1.remove('我') set1.discard('我') set2={"小泉","喜欢","玩","游戏"} #集合和集合之间,经常会用到集合运算 print(set1.intersection(set2)) print(set1.union(set2)) print(set1.difference(set2))