Python9-字典-day5

数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元祖 bool int str 可哈希
可变数据类型:list,dic set 不可哈希
dict key 必须是不可变数据类型,可哈希
value:任何数据类型
dict优点:二分查找去查询
存储大量的关系型数据
特点:无序的,无索引
dic1={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
#
dic1['high'] = 185 #没有键值对,添加
print(dic1)
dic1['age'] = 16   #存在键值对,则覆盖
print(dic1)
dic1.setdefault('weight',150)  #有键值对,不做任何改变,没有才增加
print(dic1)

{'high': 185, 'sex': 'male', 'k': 'v', 'age': 18, 'name': 'jin'}
{'high': 185, 'sex': 'male', 'k': 'v', 'age': 16, 'name': 'jin'}
{'sex': 'male', 'k': 'v', 'weight': 150, 'high': 185, 'age': 16, 'name': 'jin'}

删除

dic1.pop('age') #有返回值
print(dic1)
print(dic1.pop('six',None)) #可设置返回值
print(dic1)

dic1.popitem()  #随机删除,有返回值。元祖里是删除键值
print(dic1)
dic1.clear()  #清空字典
print(dic1)
del dic1['name']
print(dic1)


{'name': 'jin', 'sex': 'male', 'k': 'v'}
None
{'name': 'jin', 'sex': 'male', 'k': 'v'}
{'sex': 'male', 'k': 'v'}
{}
{'age': 18, 'sex': 'male', 'k': 'v'}

dic1['age']=16
print(dic1)
dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic)
print(dic2)

{'name': 'jin', 'age': 16, 'k': 'v', 'sex': 'male'}
{'name': 'jin', 'age': 18, 'sex': 'male'}
{'weight': 75, 'name': 'jin', 'age': 18, 'sex': 'male'}

 查

dic1={'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.keys(),type(dic1.keys()))
print(dic1.values())
print(dic1.items())


dict_keys(['age', 'sex', 'k', 'name']) <class 'dict_keys'>
dict_values([18, 'male', 'v', 'jin'])
dict_items([('age', 18), ('sex', 'male'), ('k', 'v'), ('name', 'jin')])
print(dic1.get('name1',‘no this key’))  #不会报错
no this key
字典循环
for
i in dic1: print(i) name k age sex for i in dic1.keys(): print(i) name k age sex for i in dic1.items(): print(i) ('name', 'jin') ('k', 'v') ('age', 18) ('sex', 'male') for i in dic1.values(): print(i) jin v 18 male a = 1 b = 2 a,b=b,a print(a,b) 2 1

for k,v in dic1.items():
print(k,v)

name jin
k v
age 18
sex male

猜你喜欢

转载自www.cnblogs.com/zhangtengccie/p/10160321.html
今日推荐