字典
字典的每个元素就是一个键值对,格式如下
key:value
{key1:value1,key2:value2,......}
1、创建
dict_eg = { "name":"wangchengliang "age":"25" "sex":"male" "salary":"100W" } dict_eg1 = dict(key1=123,key2=456)
2、常见操作
dict_user_info = { "name":"wangchengliang", "age":"25", "sex":"male", "salary":"100W" }
索引
print(dict_user_info["name"])
del删除元素
del test1["a1"] print("---",test1)
for循环
循环,默认输出所有的key
for k in dict_user_info: print(k)
或者这样通方法keys()获取
for k in dict_user_info.keys(): print(k)
获取字典中所有的value
for v in dict_user_info.values(): print(v)
获取字典中的键和值
for k,v in dict_user_info.items(): print(k,':',v)
3、常见特有方法
索引取值,key不存在会报错,get方法不会,不存在返回none
get方法取值
print(dict_user_info.get("name"))
下面索引取值不会报错,键name1不存在返回None
print(dict_user_info.get("name1"))
索引取值
print(dict_user_info["name"])
下面索引取值会报错,因为键name1不存在
print(dict_user_info["name1"])
update可以将一个字典更新到另外一个字典
test1 = { "a1":1, "a2":2 } dict_user_info.update(test1) print(dict_user_info)
pop 根据指定的键删除元素
dict_user_info.pop("name") print("----",dict_user_info)
popitem 随机删除字典中的某个键值对,并可以把删除的值赋值给一个变量
tmp=dict_user_info.popitem() print("===",dict_user_info) print(tmp)
清空字典
dict_user_info.clear() print(dict_user_info)
4、其他
dict的追加
d = {}
方法一
d["k1"]= "wang" print(d)
方法二
d.update({"k2":"25"}) print(d)
列表转换为字典
li = ["wang","cheng","liang"]
方法一
dic = {} for i,j in enumerate(li,1): dic[i] = j print(dic)
方法二
new_dic=dict(enumerate(li,1))
print(new_dic)
凡是方法前有@staticmethod这个的时候,调用方式为"类.方法"
创建一个字典,键一次为key1 key2 key3 ,值均为test
d1=dict.fromkeys(["key1","key2","key3"],"test") print(d1)
凡是方法没有@staticmethod这个的时候,调用方式为"对象.方法"
d2 = {"key1":"wang","key2":"cheng","key3":"liang"} print(d2)
从d2中依次找到"key2","key3",并将值替换为"hehe","key4"没有,就追加,形成的是新字典,和之前的字典没有关系
d3=d2.fromkeys(["key2","key3","key4"],"hehe") print(d3)