字典是由{键:值 }存储的,定义用{}大括号括起来,使用时用通用的”中括号[ ]+键“ 使用;键值只能不可变数据类型:整形,字符串,元组。
--------------------------------------------------可变与不可变数据类型----------------------------------------
可变类型:列表,字典。
不可变数据类型:整形,字符串,元组。
-----------------------------------------------------------------------------------------------------------------------
定义:dir = {'name':'fangxs','age':18,'sex':'man'} 或者 dic = dict(((键,键值),(键,键值)))
调用:print(dir['name'])
键可以是整型,或者元组:
dir = {1:'fangxs',2:'age',('name','age'):(1,2)}
print(dir[1]) #输出fangxs
print(dir[('name','age')]) #输出(1,2)
--------------------------------------------方法---------------------------------------------
dict.get(key,default=None)
:返回字典key的value,如果key不存在,返回第二个参数值,默认为None
dict.setdefault(key,default=None)
:返回字典key的value,如果key不存在,返回第二个参数值,默认为None,并将这个键值对插入dict字典中
---------------查--------------
dict.keys()
:以dict.keys[] 列表类型 返回字典中所有的key,常用list(dict.keys())转换为一个list
dict.values()
:以dict.values[] 列表类型 返回字典中所有的value,常用list(dict.values())转换为一个list
dict.items()
:以dict.items[] 列表类型 返回字典中所有的键值对,常用list(dict.items())转换为一个list
----------------改----------------
dict[key]= new_value
dict1.update(字典名dict2);将dict2更新并覆盖到dict1
----------------删-----------------
del
del dict[key] #删除key
del dict #删除dict整个字典
dict.pop(key) #删除dict key-value 返回value
dict.popitem() #随机删除dict 中的key-value 并以’元组‘类型返回这一对 key-value
------------------初始化方法---------------
dict1 = dict.formkeys([key1,key2,key3],'value')
dict1为{key1:value,key2:value.....}
如果value是list类型,那么当修改其中一个list的值时,所有的key中list的值都会被修改,eg:
1 dic1 = dict.fromkeys(['key1','key2','key3'],['value1','value2']) 2 print(dic1) 3 dic1['key2'][0] = 'new_value' 4 print(dic1) #想象中打印{'key1': ['value1', 'value2'], 'key2': ['new_value', 'value2'], 'key3': ['value1', 'value2']} 5 #实际打印:{'key1': ['new_value', 'value2'], 'key2': ['new_value', 'value2'], 'key3': ['new_value', 'value2']}
--------------------------排序--------------
sortd(dict) #按照键排序
--------------遍历字典----------------
dir = {'name':'fangxs','age':18}
for i in dir : #遍历所有的key
print(dir[i]) #打印所有的value
-----------------------------------------