首页 > 编程语言 >Python字典对象的创建(9种方式)

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

时间:2023-01-29 15:35:39浏览次数:50  
标签:old Python 创建 list three two dict 字典

第一种方式:使用{}

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
# Python学习交流群 708525271

 

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

标签:old,Python,创建,list,three,two,dict,字典
From: https://www.cnblogs.com/hahaa/p/17050586.html

相关文章

  • 常见的6个Python数据可视化库!
    提到数据可视化库,相信大家对这个都不陌生,而且Python中内置了很多数据可视化库,是我们工作的好帮手。本文为大家介绍一下常见的6个Python数据可视化库,希望对你们有帮助。......
  • python 实现app性能测试(cpu、内存占用情况)
    一、获取appcpu占用情况1、实现代码importos,csvimporttimeimportnumpyasnpfrommatplotlibimportpyplotaspltfromcheck_packageimportcheck_package......
  • Python 的垃圾回收机制【译】
    几乎所有的高级编程语言都有自己的垃圾回收机制,开发者不需要关注内存的申请与释放,Python也不例外。Python官方团队的文章https://devguide.python.org/internals/garba......
  • Python工具箱系列(二十三)
    基于游标得操作游标是数据库操作的相对底层的能力。简单的操作如下:importmysql.connectorimportrandomhost='localhost'user='root'password='8848is8848'......
  • Python字符串中用于转义的字符很多
    Python字符串中用于转义的字符很多,这里列举了几个比较常用的几个,更多的转义应用会放在合集的文章里。\n换行符:可以在一行内创建多行输出的字符串;\t制表符:相当于四个空格......
  • 【Python视频下载】Python字符串连接的5种方法
    导读在使用Python的时候,经常会进行字符串操作,本文总结了一下Python字符串连接的5种方法,希望对大家有所帮助。1.加号第一种,有编程经验的人,估计都知道很多语言里面是用加号连......
  • python functools.singledispatch的使用,针对函数不同的传参类型,做出不同的操作。
    背景希望函数根据传参类型不同,做出不同的操作.根据传入变量的类型来判断需要输出的内容,常见的做法是把这个函数做成一个分派函数,在这个函数中通过大量的if/elif/else来判......
  • Python工具箱系列(二十四)
    不管多少人黑微软,微软出品的大多数产品都能够深入人心,成为精品。在数据库领域,微软为专业人士提供SQLServer(简称mssql)。为日常办公人士提供Access与Excel这两款数据存储与......
  • Python定义全局变量的用法
    全局变量是编程语言中常见的一种变量,通过全局定义,可以是某对象函数创建,也可以是本程序任何位置创建,能够被本程序中的所有对象或函数进行引用,全局变量的定义有利于程序的变......
  • python 缓存函数结果,下次不会执行函数时直接获取结果[ lru_cache 、cache]
    学习路径:https://www.aiuai.cn/aifarm1963.htmlfromfunctoolsimportlru_cachefrompydanticimportBaseSettingsn=0classSettings(BaseSettings):envir......