字典
字典的每个元素就是一个键值对,格式如下
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)