Python - 字典4

复制字典

您不能简单地通过输入 dict2 = dict1 来复制一个字典,因为 dict2 只会成为 dict1 的引用,对 dict1 的更改也会自动应用于 dict2。

有多种方法可以复制字典,一种方法是使用内置的 copy() 方法。

示例,使用 copy() 方法制作字典的副本:

python 复制代码
thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
mydict = thisdict.copy()
print(mydict)

另一种制作副本的方法是使用内置函数 dict()。

示例,使用 dict() 函数制作字典的副本:

python 复制代码
thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
mydict = dict(thisdict)
print(mydict)

Python - 嵌套字典

一个字典可以包含字典,这称为嵌套字典。

示例,创建一个包含三个字典的字典:

python 复制代码
myfamily = {
  "child1" : {
    "name" : "Emil",
    "year" : 2004
  },
  "child2" : {
    "name" : "Tobias",
    "year" : 2007
  },
  "child3" : {
    "name" : "Linus",
    "year" : 2011
  }
}

或者,如果您想将三个字典添加到一个新字典中:

示例,创建三个字典,然后创建一个包含其他三个字典的字典:

python 复制代码
child1 = {
  "name" : "Emil",
  "year" : 2004
}
child2 = {
  "name" : "Tobias",
  "year" : 2007
}
child3 = {
  "name" : "Linus",
  "year" : 2011
}

myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

访问嵌套字典中的项

要访问嵌套字典中的项,您可以使用字典的名称,从外部字典开始:

示例,打印 child 2 的名称:

python 复制代码
print(myfamily["child2"]["name"])

Python 字典方法

Python 具有一组可在字典上使用的内置方法。

方法 描述
clear() 从字典中移除所有元素
copy() 返回字典的副本
fromkeys() 返回具有指定键和值的字典
get() 返回指定键的值
items() 返回包含每个键值对的元组的列表
keys() 返回字典的键列表
pop() 移除具有指定键的元素
popitem() 移除最后插入的键值对
setdefault() 返回指定键的值。如果键不存在,则插入具有指定值的键
update() 使用指定的键值对更新字典
values() 返回字典中所有值的列表

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding, 阿里开发者社区, InfoQ, CSDN, 腾讯开发者社区, 思否, 51CTO, 掘金, helloworld, 慕课, 博客园

看完如果觉得有帮助,欢迎点赞、收藏 和关注

相关推荐
wo_jack38 分钟前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
量化分析码农2 小时前
【Python量化波动率实战 02】波动率会传染:EWMA 指数加权给近期行情更大话语权
后端
冻柠檬飞冰走茶2 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing032 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
橙橙笔记2 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
雪落漂泊2 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
小小张说故事2 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
GISer_Jing3 小时前
如何学习Agent
后端·langchain
波力海苔夹心脆6753 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩4 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常