Python 字典 元祖 链表 常用方法 及概念区别

本文介绍了Python字典的基本操作方法,包括创建、更新等,并对比了列表与元组的不同使用场景。

Python字典方法:常用的方法与字典相关习惯用法

示例

说明

d={}

创建一个空的字典,并将分配给d

d[key]=walue

分配一个值给一个给定的字典键

d.keys()

字典的键的链表

list(d)

字典的键的链表

sorted(d)

字典的键,排序

key in d

测试一个特定的键是否在字典中

for key in d

遍历字典的键

d.values()

字典中的值得链表

dict([k1,v1],(k2,v2),…)

从一个键-值对链表创建一个字典

d1.update(d2)

添加d2中的所有项目到d1

defaultdict(int)

一个默认字典,值为int 0

 

 

 

元祖与链表的区别:

链表的长度可变,元祖不可变。

决定何时使用元祖还是链表的一个好办法是看一个项目的内容是否取决于他的位置。例如元祖(x,r)表示 x为圆心的横坐标,r为点的半径,元祖(x,r)有意义而(r,x)则没有意义,那么这里选择元祖而不是列表而表示。

 

 

 链表与字符串的区别:

链表的优势在于我们可以灵活的使用决定它包含的元素,相应的后续处理也变得灵活。因此,我们在一段NP代码中可能做的第一件事就是将一个字符串分词放入一个字符串链表中。相反,当我们要将结果写入到一个文件或终端,我们通常会将他们格式化为一个字符串。

 

 

 

Python 中,列表(List)、字典(Dictionary)和元组(Tuple)是三种常用数据结构,它们各自具有不同的特性和适用场景。 ### 列表(List) 列表是一种有序的、可变的数据结构,可以存储任意类型的数据。列表使用方括号 `[]` 来定义,元素之间用逗号分隔。列表支持索引访问,索引从 0 开始。由于列表是可变的,因此可以在原地修改列表的内容,例如添加、删除或更改元素。列表适用于需要频繁修改数据的场景[^2]。 例如: ```python fruits = ['apple', 'banana', 'cherry'] fruits.append('grape') # 添加元素 fruits.insert(0, 'orange') # 插入元素 fruits.remove('banana') # 删除指定元素 del fruits[0] # 删除指定位置的元素 ``` ### 元组(Tuple) 元组与列表类似,也是一种有序的数据结构,但元组是不可变的,即一旦创建了元组,就不能对其进行修改。元组使用圆括号 `()` 来定义,元素之间同样用逗号分隔。元组适用于不需要修改的数据集合,可以作为字典中的键来使用,因为它们是不可变的[^2]。 例如: ```python coordinates = (10, 20) ``` ### 字典(Dictionary) 字典是一种无序的、可变的数据结构,它通过键值对(Key-Value Pair)来存储数据。字典使用花括号 `{}` 来定义,每个键值对之间用逗号分隔,键和值之间用冒号分隔。字典的键必须是不可变的类型,如字符串、数字或元组,而值可以是任何类型的对象。字典的查找效率非常高,因为它是通过哈希表实现的,这使得字典可以在常数时间内完成查找和插入操作[^1]。 例如: ```python person = {'name': 'Alice', 'age': 30, 'city': 'Beijing'} ``` ### 总结 - **可变性**:列表和字典是可变的,而元组是不可变的。 - **顺序**:列表和元组是有序的,而字典Python 3.7 之前是无序的,但从 Python 3.7 开始,字典保持了插入顺序。 - **性能**:对于查找操作,字典提供了高效的性能,通常为 O(1) 时间复杂度;列表和元组的查找操作则需要线性时间复杂度 O(n)。 - **适用场景**:列表适合需要频繁修改的数据集合;元组适合不需要修改的数据集合,尤其是作为字典的键时;字典适合需要快速查找和关联数据的场景。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值