2018年11月24日 周末学习1 字典2
info={ "k1":12, "k2":True, "k3":[11,"sxj",], "k4":"abc", } v1=info["k1"] #输入key值 得出value值 print ("1.字典的索引:",v1) #字典的索引 v2=info["k3"][1] print("2.索引用法如何寻找sxj:",v2)#通过索引一层层寻找 #VIP:因为字典是无序的,所以不能切片 del info["k2"] print("3.k2键值对删除:",info)#字典支持删除 for item in info: print("4.for循环的应用:",item) #默认循环的是key for item in info.keys(): print("5.字典获取key:",item,info[item]) for item in info.values(): print("6.字典value值获得:",item) for item in info.items(): print("7.循环获得键值对items:",item) for k,v in info.items(): print("8.循环分别获得key与value用法:",k,v
如果key值有重复,例如 True和1 例如 都是"K1“,后面的value会替代前面的,并且只显示一个key值
info={ "k1":122, 1:"222", "123":2, True:"abc"# True与1重复 注意value值的传递 } print (info) a=dict.fromkeys("abc","123") b=dict.fromkeys(["a",1,True],["sxj",2,4]) c=dict.fromkeys(("sxj",2,4),"abc") print("1.根据序列或者字符串或者元祖创建字典,并指定统一的值:"'\n',a,'\n',b,'\n',c) d=a.get("ABC","k不存在则返回默认值") e=b.get("a")# 根据key值去取值,get不会更改原来a字典内的数据 print("2.get高级索引的用法,普通索引不到会报错,该方法不会:",d,e) f=c.pop("sxj","默认值,如果没得删除就返回该默认值") g=c.pop("aaaa","默认值") print("3.pop删除的用法",f,'\n',c,'\n',g) h=a.popitem()#随机删除键值对并返回该删除的内容 print("4.popitem 用法,随机删除键值对并返回删除内容:",h,'\n',a) a2=a.copy() i=a.setdefault("sxj","默认值1") j=a2.setdefault("a","默认值2") print("5.setdefault设置值,如果已经存在就不设置但是返回当前key对应值,如果不存在就返回默认值:",'\n',a,'\n',i,'\n',a2,'\n',j) a3=a.copy() a4=a.copy() a3.update({"k1":"如果没有则在后面添加","b":"如果原来有就替换"}) #update更新的用法 a4.update(a="更新1",c="没有就添加") print("6.update用法注意参数:\n",a3,'\n',a4)
如果参数内部写成**kwargs,则默认会转换成字典,可以写成 例如name=“sss”,age=18 也可以写成字典形式 传递参数
t="I am {name},age:{age}" v=t.format(name="sxj",age=18) print(v) w=t.format(**{"name":"sxj","age":18}) print(w) #前面需要加** 否则报错
a= 'a' in info #判断是否在key值 b="c" in info.values()#判断是否在value值内 print(a,b)
#none;"";();[];{};0 ==》 这些都是Falue,其他都是True a=bool({}) print(a)