码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-07 22:11:27      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:序列   添加   update   copy   重复   结果   value   rom   strong   

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}

 

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

标签:序列   添加   update   copy   重复   结果   value   rom   strong   

原文地址:https://www.cnblogs.com/hm-blog/p/9925981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!