Python - 基础数据类型 dict 字典(下)

简介: Python - 基础数据类型 dict 字典(下)

常见函数


len

获取字典中键值对的数量

# len
var = {'a': 'A', 'b': 'B', 'c': 'C'}
print(len(var))
# 输出结果
3


list

返回包含该字典中所有键的列表

# list
book = {
    'title': 'Python 入门基础',
    'author': '张三',
    'press': '机械工业出版社'
}
print(list(book))
# 输出结果
['title', 'author', 'press']


  • 这个返回结果是无序
  • tuple() 一样也可以这样哦,返回的是键组成的元组

 

sorted

返回包含该字典中所有键的有序列表

# sorted
book = {
    'title': 'Python 入门基础',
    'author': '张三',
    'press': '机械工业出版社'
}
print(sorted(book))
# 输出结果
['author', 'press', 'title']


dict() 创建字典对象详解


重点

dict 是一个类,而不是函数

 

源码

image.png

从源码注释来看,dict 有四种传参方式,下面将一一举例

 

创建空字典

# 创建空字典
dict1 = dict()
print(dict1)
# 输出结果
{}


通过 iterable 创建字典

# 传递 list 来创建字典
mid = [("a", 1), ("b", 2)]
dict2 = dict(mid)
print(dict2)
# 输出结果
{'a': 1, 'b': 2}


iterable 的详解:https://www.cnblogs.com/poloyy/p/14658433.html

 

通过关键字参数创建字典

# 传递关键字参数来创建字典
dict3 = dict(name="yy", age=24)
print(dict3)
# 输出结果
{'name': 'yy', 'age': 24}


通过另一个字典对象创建字典

mid = {"title": [1, 2, 3]}
# 相当于浅拷贝
dict4 = dict(mid)
print(dict4)
print(id(mid), id(dict4))
mid["name"] = "test"
mid["title"][1] = 1
print(mid, dict4)
# 输出结果
{'title': [1, 2, 3]}
4498981760 4500413824
{'title': [1, 1, 3], 'name': 'test'} {'title': [1, 1, 3]}


这种传参方式相当于浅拷贝,新的字典对象和旧的字典对象并不指向同一个对象引用

假设直接用赋值的方式,因为字典是可变对象,所以新旧字典对象都会指向同一个对象引用


dict1 = {1: 1}
dict2 = dict1
print(id(dict1), id(dict2))
# 输出结果
4355281792 4355281792


所以,当想复制一个新的字典对象但是又不想指向同一个对象引用的话,最好还是使用 dict() 的方式

 

字典常见方法


https://www.cnblogs.com/poloyy/p/15084264.html

 

遍历字典的多种方式


https://www.cnblogs.com/poloyy/p/15084302.html

相关文章
|
24天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
77 8
|
29天前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
27 6
|
29天前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
38 6
|
27天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
17 1
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
68 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
29 0
|
2月前
|
编译器 数据安全/隐私保护 Python
Python--基本数据类型
【10月更文挑战第4天】
|
2月前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
45 0
|
21天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!