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

元组

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 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值