概述:字典是以键值对方式存在的,且是无序的
1、创建
方式一:dic={key1:value1,key2:vaule2....}
方式二:dic=dict(mapping) 传入一组键值对方式存在的数据
方式三:dic=dict(iterable可迭代的数据)
for k,v in enumerate(interable,0)#序列号从0开始
dic[k]=v
2、内部功能
a、fromkeys 方法的使用
#调用fromkeys方法创建字典数据 dic=dict.fromkeys(["k1","k2","k3"],"alex") #分别用传统方式和fromkeys方法创建字典数据 value为列表类型 dict1={"k1":[],"k2":[]} dict2=dict.fromkeys(["k1","k2"],[]) print(dict1) print(dict2) #对两种方式创建的两个字典数据追加value值 区别 传统方式创建的只给指定的key追加value 而 fromkeys方法创建的虽然指定了要追加 #value值得键key 结果为每一个键所对应的value都追加了值,之所以出现这样的区别是因为fromkeys方法创建字典每一个key公用了一个列表数据 dict1["k1"].append("aa") dict2["k1"].append("bb") print(dict2) print(dict1) print(dic) #自己实现公用一个列表字典数据的变化 li=[] dic3={"k1":li,"k2":li} print(dic3) dic3["k1"].append("ccc") print(dic3)
结果:
{'k2': [], 'k1': []} {'k2': [], 'k1': []} {'k2': ['bb'], 'k1': ['bb']} {'k2': [], 'k1': ['aa']} {'k2': 'alex', 'k1': 'alex', 'k3': 'alex'} {'k2': [], 'k1': []} {'k2': ['ccc'], 'k1': ['ccc']}