python-12 字典and集合

字典dict:键值对,可以为空

dict1 ={'name':'Tom','gender':'man'}
print(type(dict1)) 		#<class 'dict'>

dict2 = {}
dict3 = dict()

字典序列[key] = value
若key存在,修改;不存在,添加
字典为可变类型

dict1['id'] = 110
dict1['name'] = 'jc'

del(dict1)
print(dict1) #NameError: name 'dict1' is not defined

del dict1['name']
print(dict1) #{'gender': 'man', 'age': 20, 'id': 110}


dict1.clear()
print(dict1) #{}


和增一样


key查找

get(key,default) 设置了defaul若key存在,返回value,若不存在,返回default;没设置default,不存在返回none

keys() 查找字典中所有key,返回可迭代对象
values() 查找字典中所有values,返回可迭代对象
items() 查找字典中所有的键值对,返回可迭代对象,返回的元组,元组数据1是key,数据2是values

print(dict1['name'])		#Tom


print(dict1.get('age'))		 #20
print(dict1.get('agesss',0)		#0
print(dict1.get('agesss'))		 #None

print(dict1.keys())		 #dict_keys(['name', 'gender', 'age'])

print(dict1.items()) 
#dict_items([('name', 'Tom'), ('gender', 'man'), ('age', 20)])

可迭代

for key in dict1.keys():
    print(key)
    # Tom
    # name
    # gender
    # age
    
for item in dict1.items():
    print(item)

    # ('name', 'Tom')
    # ('gender', 'man')
    # ('age', 20)

#拆包
#for循环用了两个临时变量
for key,value in dict1.items():
    print(f'{key} = {value}')

    # name = Tom
    # gender = man
    # age = 20


集合set:{} 或 set(),若要创建空集合,则只能set(),因为大括号创建空字典(没有重复,没有顺序)

s1 = {10,20,30,40,50}
s2 = set('abcdefg')
print(s1)		#{40, 10, 50, 20, 30}
print(s2)		#{'f', 'g', 'd', 'e', 'a', 'b', 'c'}

s3 = set()

print(s3)		#set()


.add() 增加单一数据(去重)
.update() 增加的是一个数据序列,只加一个会报错

s1 = {10,20,30,40,50}
s1.add(100)

s1.update([10,20,70,49])		#{100, 70, 40, 10, 49, 50, 20, 30}
print(s1)


.remove() 删除指定,不存在则报错
.pop() 随机删除,并返回这个值
.discaed() 删除指定,不报错


in
not in

s1 = {10,20,30,40,50}

print(10 in s1)			#True
print(10 not in s1)		#False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值