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

 

第一种方式:使用{}

firstDict = {"name": "wang yuan wai ", "age" : 25}

说明:{}为创建一个空的字典对象

 

第二种方式:使用fromkeys()方法

second_dict = dict.fromkeys(("name", "age")) #value使用默认的None,也可以指定value值

说明:fromkeys()是dict类的一个staticmethod(静态方法)

 

第三种方式:使用dict的构造方法,参数为关键字参数

thirdDict = dict(name = "yuan wai", age = 30) #利用dict的构造方法 传入字典参数


第四种方式:使用dict的构造方法,参数为嵌套元组的list

tuple_list =[("name", "wang yuan wai"), ("age", 30)]

my_dict = dict(tuple_list)

说明:传入的list结构是有要求的,list的每个元素都是一个两个元素的tuple


第五种方式:使用dict的构造方法,参数为zip()函数的返回值

fifthDict = dict(zip("abc",[1,2,3]))

 

第六种方式:使用dict的初始化方法,参数为字典对象

e = dict({'three': 3, 'one': 1, 'two': 2})

 

第七种方式:使用字典解析式

sixthDict = {char : char* 2 for char in "TEMP"}

 

创建字典的方式(官方文档介绍)

以下示例返回的字典均等于 {"one": 1, "two": 2, "three": 3}

>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
True

 

第八种方式:使用字典的copy()方法(浅复制)创建一个新的字典对象

>>> hold_list=[1,2,3]
>>> old_dict={"num":hold_list}
>>> new_dict=old_dict.copy()
>>> id(old_dict["num"])
2141756678856
>>> id(new_dict["num"])
2141756678856

浅复制:old_dict与new_dict持有的是同一个hold_list对象,你明白了吗?注意看id值

 

第九种方式:使用copy模块的deepcopy()函数(深复制)创建一个新的字典对象

>>> from copy import deepcopy
>>> hold_list=[1,2]
>>> old_dict={"num":hold_list}
>>> new_dict=deepcopy(old_dict)
>>> id(old_dict["num"])
2141787030152
>>> id(new_dict["num"])
2141787012040

深复制:new_dict持有的也是一个新创建的host_list对象,你明白了吗?注意看id值

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值