翼度科技»论坛 编程开发 python 查看内容

Python字典对象的创建(9种方式)

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
第一种方式:使用{}
  1. firstDict = {"name": "wang yuan wai ", "age" : 25}
复制代码
 
说明:{}为创建一个空的字典对象
第二种方式:使用fromkeys()方法
  1. second_dict = dict.fromkeys(("name", "age")) #value使用默认的None,也可以指定value值
复制代码
 
说明:fromkeys()是dict类的一个staticmethod(静态方法)
第三种方式:使用dict的构造方法,参数为关键字参数
  1. thirdDict = dict(name = "yuan wai", age = 30) #利用dict的构造方法 传入字典参数
复制代码
 
第四种方式:使用dict的构造方法,参数为嵌套元组的list
  1. tuple_list =[("name", "wang yuan wai"), ("age", 30)]
  2. my_dict = dict(tuple_list)
复制代码
 
说明:传入的list结构是有要求的,list的每个元素都是一个两个元素的tuple
第五种方式:使用dict的构造方法,参数为zip()函数的返回值
  1. fifthDict = dict(zip("abc",[1,2,3]))
复制代码
 
第六种方式:使用dict的初始化方法,参数为字典对象
  1. e = dict({'three': 3, 'one': 1, 'two': 2})
复制代码
 
第七种方式:使用字典解析式
  1. sixthDict = {char : char* 2 for char in "TEMP"}
复制代码
 
创建字典的方式(官方文档介绍)
以下示例返回的字典均等于 {“one”: 1, “two”: 2, “three”: 3}
  1. >>> a = dict(one=1, two=2, three=3)
  2. >>> b = {'one': 1, 'two': 2, 'three': 3}
  3. >>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
  4. >>> d = dict([('two', 2), ('one', 1), ('three', 3)])
  5. >>> e = dict({'three': 3, 'one': 1, 'two': 2})
  6. >>> a == b == c == d == e
  7. True
复制代码
 
第八种方式:使用字典的copy()方法(浅复制)创建一个新的字典对象
  1. >>> hold_list=[1,2,3]
  2. >>> old_dict={"num":hold_list}
  3. >>> new_dict=old_dict.copy()
  4. >>> id(old_dict["num"])
  5. 2141756678856
  6. >>> id(new_dict["num"])
  7. 2141756678856
复制代码
 
浅复制:old_dict与new_dict持有的是同一个hold_list对象,你明白了吗?注意看id值
第九种方式:使用copy模块的deepcopy()函数(深复制)创建一个新的字典对象
  1. >>> from copy import deepcopy
  2. >>> hold_list=[1,2]
  3. >>> old_dict={"num":hold_list}
  4. >>> new_dict=deepcopy(old_dict)
  5. >>> id(old_dict["num"])
  6. 2141787030152
  7. >>> id(new_dict["num"])
  8. 2141787012040
  9. # Python学习交流群 708525271
复制代码
 
深复制:new_dict持有的也是一个新创建的host_list对象,你明白了吗?注意看id值

来源:https://www.cnblogs.com/hahaa/p/17050586.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具