第五篇:基本数据类型及用法(2)

1 info={"k1":"v1","k2":"v2"}
2 v=info.setdefault("k3",123)
3 print(info,v)
4 #结果:{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123

 

字典dict

1.字典的元素是键值对,各个元素用逗号分隔,基本结构如下:
info={"k1:v1","k2:v2"}

2.字典的键(key)只可以是数字,字符串,元祖,布尔值
注意:布尔值(False,True)为key时,可能与数字(0,1)作为key重复,只会承认数字那个key,例:
1 info={"k1":"v1",1:"v2",True:"v3"}
2 print(info)
3 #结果:{'k1': 'v1', 1: 'v3'}

 

3.值(value)可以是任意数据类型(数字,字符串,bool,列表,元祖,字典),可嵌套多次

4.字典是无序的

5.通过键取字典值,info['k1']
例:
1 info={"k1":18,2:True,"k3":[11,22,33,{'kk1':'vv1','kk2':'vv2','kk3':(99,66)}],"k4":(11,22,33,44)}
2 v=info["k3"][3]["kk3"][0]
3 print(v)
4 #结果:99

 

6.字典支持元素删除(键值对),例:del info["k4"]

7.字典for循环默认循环的是key
  -若想循环value,需要使用dict类的value()方法,例:
1 info={"k1":"v1",2:True,(12,"dd"):[1,2,3]}
2 for item in info.values():
3     print(item)
4 #结果:v1
5 #     True
6 #     [1, 2, 3]

 -若要获取键值对,则使用dict类的item()方法,例:

1 info={"k1":"v1",2:True,(12,"dd"):[1,2,3]}
2 for k,v in info.items():
3     print(k,v)
4 #结果:k1 v1
5     # 2 True
6     # (12, 'dd') [1, 2, 3]

 

8.字典dict类的方法:
-clear():清空所有键值对,例:
1 info={"k1":"v1","k2":"v2"}
2 info.clear()
3 print(info)
4 #结果:{}

 

-copy():拷贝一个字典,例:
1 info={"k1":"v1","k2":"v2"}
2 info2=info.copy()
3 print(info2)
4 #结果:{'k1': 'v1', 'k2': 'v2'}

 

-fromkeys():根据参数给的序列,创建字典,并指定统一的值。此方法是静态方法,可用类dict直接调用,无需创建对象。例:
1 v=dict.fromkeys([4,"abc",True],123)
2 print(v)
3 #结果:{4: 123, 'abc': 123, True: 123}

 

-get():根据key获取值,key不存在时,返回参数2指定的值(不指定参数2,默认返回None),例:
1 info={"k1":"v1","k2":"v2"}
2 v=info.get("k3",444)
3 print(v)
4 #结果:444

 

-pop():指定某个key删除,返回删除的value,例:
1 info={"k1":"v1","k2":"v2"}
2 v=info.pop("k1",444)
3 print(info,v)
4 #结果:{'k2': 'v2'} v1

 

若指定的key不存在,返回参数2指定的value值,例:
1 info={"k1":"v1","k2":"v2"}
2 v=info.pop("k3",444)
3 print(info,v)
4 #结果:{'k1': 'v1', 'k2': 'v2'} 444

 

-popitem():随机删除一个键值对,返回删除的键值对
1 info={"k2":"v2","k1":"v1","k3":"v3"}
2 k,v=info.popitem()
3 print(info,k,v)
4 #结果:{'k2': 'v2', 'k1': 'v1'} k3 v3

 

-setdefault():指定key设置值
  若key已经存在,则不会设置值,返回当前key对应的值,例:
1 info={"k1":"v1","k2":"v2"}
2 v=info.setdefault("k1",123)
3 print(info,v)
4 #结果:{'k1': 'v1', 'k2': 'v2'} v1

 

  若key不存在,添加key并设置值,返回设置后key对应的值,例:
1 info={"k1":"v1","k2":"v2"}
2 v=info.setdefault("k3",123)
3 print(info,v)
4 #结果:{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123

 

-update():存在的key,值覆盖,不存在的key,追加更新,例:
info={"k1":"v1","k2":"v2"}
info.update({"k1":1,"k3":3})
print(info)
#结果:{'k1': 1, 'k2': 'v2', 'k3': 3}

  

1 info={"k1":"v1","k2":"v2"}
2 info.update(k1=1,k3=3)
3 print(info)
4 #结果:{'k1': 1, 'k2': 'v2', 'k3': 3}

 

posted @ 2018-11-07 21:48  HMのBlog  阅读(167)  评论(0编辑  收藏  举报