6、python数据类型之元组(dict)

时间:2023-03-09 21:28:21
6、python数据类型之元组(dict)

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