元组、字典、集合的相关操作

it2023-06-29  72

元组

1.定义:tuple1 = ( n1 , n2 , n3 ) 当元组中只有一个元素的时候,在元素后面添加逗号

消除歧义 一个元组一旦被定义完成,则不能做任何修改,只能获取 元组 [ 索引 ] 虽然元组是不可变的,但是如果元组中的元素为列表,该列表是可以修改的

2.删除元组:del 元组

3.tuple( ):将对象转换为元组

4.enumerate ( ):枚举

#print(list(enumerate(list1))) t1 = (11,22,33,44,55,66,77,88,99) for i,num in enumerate(t1): print(i,num) print(enumerate(t1)) # <enumerate object at 0x00000218F0DE8C60>

字典

1.定义:dict1 = { 键1:值1 , 键2:值2 , 键3:值3}

键可以使用数字、布尔值、元组、字符串等不可变数据类型,但是一般习惯 使用字符串,切记不能使用列表等可变数据类型 每个字典里的key都是唯一的,如果出现了多个相同的key,后面的value会 覆盖之前的value 字典 [ key ] = 值 表示给value重新赋值,如果key不存在, 则表示添加键值对 字典是无序的,有序字典OrderedDict { } 表示的是字典,并不是集合

2.获取 字典 [ key ] 如果访问key对应的value,建议使用get,因为如果key不存在,

get不报错,返回None dict1.get( key )

3.修改、添加 字典 [ key ] = 值 表示给value重新赋值,如果key不存在,

则表示添加键值对

4.创建字典

dict ( key = value )

dict ( [ ( key1 , value1 ) , ( key2 , value ) … ] )

dict ( zip (seq1所有的key , seq2所有的value ) ) , seq1和seq2可以是列表,也可以是元组

5.遍历字典

获取key dict1.keys ( )

获取values dict2.values ( )

获取键值对 dict3.items ( )

6.增

update ( ),更新,合并字典,将指定字典中的键值对添加到原字典中

dict1.update ( dict2 ),将dict2中的键值对添加到原字典中

setdefault ( key , default ) 如果default省略,向字典中添加了key : None

如果default未省略,则向字典中添加了key : default

7.删

pop ( key ),根据指定的key删除键值对,返回值为被指定的key对应的value

popitem ( self ) 随机删除一对键值对,返回值为被删除的键值对的元组,( key , value )

del xxx del dict1 [ key ]

clear ( self )

8.改 字典[ key ] = 值

9.查

get , keys ( ) , values ( ) , items ( ) , len ( )

10.其他

copy ( ) , 和列表的使用完全相同,拷贝的是最外层的地址

fromkeys ( seq ) , seq中的元素作为key , value默认为None

fromkeys ( seq , value ) seq中的元素作为key , value可以是任意的数据类型,所有

key的value是相同的

11.字典推导式:{ key : value for循环 if判断 }

集合

1.{ } 为空时表示字典

2.{ } 不为空,其中的元素不是键值对,则表示集合

3.创建一个空集合

set31 = set() print(set31,type(set31)) set32 = set([]) print(set32) set33 = set(()) print(set33)

4.创建非空集合【了解】

set32 = set([1,2,3]) print(set32) # {1,2,3} set33 = set((1,2,3)) print(set33) # {1,2,3}

注意:集合set相当于只存储了字典中的key:无序且唯一

set33 = set({11:1,22:2}) print(set33) # {11,22}

5.增

add ( x ) , 添加,x必须是不可变的数据类型

set1.add([1,2,3]) #TypeError: unhashable type: 'list' 如果添加的是可迭代对象,则会将整个容器添加进去

update ( x ),更新,x必须是可迭代对象,只会将其中的元素添加进去

6.删

remove ( ) , 删除指定的元素

pop ( ) , 随机删除一个元素

discard ( ) , 和remove类似,都是删除指定的元素

但是,如果元素不存在,remove会报错KeyError , discard不会报错

clear ( )

7.查 len ( ) , max ( ) , min ( )

8.集合间的运算

使用运算符:

并集:& , 交集:| , 差集:- , ^

使用系统功能:

并集:s1.union ( s2 ) 交集:s1.intersection ( s2 ) 差集:s1.difference ( s2 )
最新回复(0)