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

yizhihongxing

第一种方式:使用{}

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值

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python字典对象的创建(9种方式) - Python技术站

(0)
上一篇 2023年3月31日
下一篇 2023年3月31日

相关文章

  • Python遇上SQL,于是一个好用的Python第三方库出现了

    1. 演示数据 本文的所有演示数据,均是基于下方的四张表。下面这四张表大家应该不陌生,这就是网传50道经典MySQL面试题中使用到的几张原表。关于下方各表之间的关联关系,我就不给大家说明了,仔细观察字段名,应该就可以发现。 2. pandasql的使用 1)简介 pandas中的DataFrame是一个二维表格,数据库中的表也是一个二维表格,因此在panda…

    Python开发 2023年4月2日
    00
  • python 装饰器

    一、我们在python语言中  常用@classmethod、@staticmethod这个装饰器,装饰器的作用简单来讲就是我们在很多地方可能都会用到一下相同的功能,这时我们会有两种想法。 1. 将这部分相同的功能封装成函数,然后在使用这个功能的时候程序中调用这个函数。 2. 将这部分相同的功能封装成装饰器,然后在使用这个功能的时候在需要处理的方法前加上对应…

    Python开发 2023年4月2日
    00
  • 圣诞节快到了,教大家用Python画一个简单的圣诞树和烟花,送给那个她

    这不是圣诞节快到了,准备让让女朋友开心开心,也算是亲手做的,稍稍花了点心思。 话不多说,咱们直接来展示吧,学会了赶紧画给你的那个她吧! 本文分为两个大块,我们先来试试画圣诞树。 圣诞树 效果展示 代码展示 导入模块 import turtle as t from turtle import * import random as r import time  …

    Python开发 2023年4月2日
    00
  • 王心凌再次爆火,为了防止收费,我连夜用Python把她所有的MV离线

    《乘风破浪的姐姐3》王心凌一骑绝尘,破收视率,多年后再次全网爆火,某音截止现在差不多3500W粉丝,五月份热门女星排名,吊打其它所有人,不愧是我女神! 但是这个热度,感觉她的歌曲和MV,已经离收费越来越近了,于是我连夜用Python把所有MV 和歌曲离线,今天先给大家分享MV的方法。 女神镇楼!     话不多说,我们开冲! 步骤分析 一、数据来源分析 1、…

    2023年4月2日
    00
  • 只用20行代码,Python实现爬取网易云音乐,非常简单!

    哈喽,大家好,今天咱们试试只用20行代码来实现批量获取网抑云文件保存本地,炒鸡简单! 悄悄的告诉你,其实不到20行代码~     你需要准备 本次使用的环境是Python3.8,编辑器是pycharm  模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,re、os都是内置模块,不需要安装。 pip insta…

    2023年4月2日
    00
  • 下班在家没事干?教大家用Python做一个任何视频都能看的软件, 当然,只能看正经的!

    这不,国庆假期结束了,又得开始上班下班之旅了~ 有没有被疫情堵着出不来的呢?     话说回来,放这么久的假,大家还记得Python吗? 这不是怕大家又不能出去旅游,回家了或者在宿舍没事干太无聊,所以特地给大家献上如何用Python来开发一款看视频不需要VIP的软件~ 如果想发给朋友用的话,咱们在打包成exe可执行软件,这样小伙伴也能一起用了~ 效果展示 我…

    2023年4月2日
    00
  • Python将多个文件多列进行关联

    兄弟们,温故而知新,可以为师矣。 就是说,我们所学过的东西,要去多复习,这样才能总结出属于自己的理解,这样就可以做老师了。 但是我以为的我以为,后面可以改成,将自己所学及所领会的教给别人,这样才能更加记忆深刻。 今日内容:Python将多个文件多列进行关联 知识点 文件读写 基础语法 异常处理 循环语句 字符串处理 # 我还给大家准备了这些资料:Python…

    Python开发 2023年4月2日
    00
  • Python之字典查找元素(3种方式)

    本文描述的是查找字典的某一个元素(字典遍历元素请点击->这里) 上下文代码 smart_girl = {“name”:”yuan wai”, “age”: 25,”sex”:”女”}   第一种方式:[] 注意:这种方式,如果找不到对应的key,会报一个KeyError错误 smart_girl[“name”] # []传入key   第二种方式:ge…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部