python 列表/元组/字典

本文介绍了Python中的三种基本数据结构:列表、元组和字典。详细讲解了它们的定义、特性及基本操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Python列表
List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。

列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:

点击(此处)折叠或打开

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
  4. tinylist = [123, 'john']

  5. print list # 输出完整列表
  6. print list[0] # 输出列表的第一个元素
  7. print list[1:3] # 输出第二个至第三个的元素
  8. print list[2:] # 输出从第三个开始至列表末尾的所有元素
  9. print tinylist * 2 # 输出列表两次
  10. print list + tinylist # 打印组合的列表
2.Python元组

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。

点击(此处)折叠或打开

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
  4. tinytuple = (123, 'john')

  5. print tuple # 输出完整元组
  6. print tuple[0] # 输出元组的第一个元素
  7. print tuple[1:3] # 输出第二个至第三个的元素
  8. print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
  9. print tinytuple * 2 # 输出元组两次
  10. print tuple + tinytuple # 打印组合的元组
以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

点击(此处)折叠或打开

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
  4. list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
  5. tuple[2] = 1000 # 元组中是非法应用
  6. list[2] = 1000 # 列表中是合法应用
3.Python元字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

点击(此处)折叠或打开

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. dict = {}
  4. dict['one'] = "This is one"
  5. dict[2] = "This is two"

  6. tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


  7. print dict['one'] # 输出键为'one' 的值
  8. print dict[2] # 输出键为 2 的值
  9. print tinydict # 输出完整的字典
  10. print tinydict.keys() # 输出所有键
  11. print tinydict.values() # 输出所有值

### Python列表元组字典的数据类型及其区别 #### 1. 列表(List) 列表是一种有序的、可变的数据结构,能够存储任意类型的元素。可以通过索引来访问其内部的元素,并支持动态增加或删除元素。 - **特点** - 可变:可以随时修改其中的内容。 - 有序:保持插入时的顺序不变。 - 支持重复值:允许存在相同的元素多次出现。 - **基本操作** - 定义与初始化 ```python my_list = [1, 'apple', True] ``` - 增加元素 ```python my_list.append('banana') # 尾部追加单个元素 my_list.extend([3, 4]) # 合并另一个列表至当前列表尾端 ``` - 删除元素 ```python del my_list[0] # 根据索引位置移除指定项 my_list.remove('apple') # 移除首次匹配到的具体值 ``` - **引用说明** 由于列表具备灵活性高这一优势[^1],因此非常适合用来处理那些需要频繁变更内容的任务场景。 --- #### 2. 元组(Tuple) 元组也是一种序列化的容器类型,类似于列表,但它一旦创建便不能再更改任何部分;即它是不可变得。 - **特点** - 不可变:一经设定就不能再做任何形式上的调整。 - 轻量级:相较于列表而言占用更少内存资源。 - 序列化保存多个固定项目的好工具。 - **基本操作** - 构造实例 ```python my_tuple = ('red', 'green', 'blue') single_item_tuple = (42,) # 单元素情况记得加上逗号哦! ``` - 获取成员 ```python color = my_tuple[1] # 提取第二个颜色名'green' colors_slice = my_tuple[:2] # 截取前两色组成的子集('red','green') ``` 关于为何选用元组而不是列表作为某些场合下的首选方案,在于前者能提供更高的安全性保障以及性能优化潜力方面有所体现[^1]. --- #### 3. 字典(Dictionary) 字典是由键(Key)-值(Value)对构成的一种映射关系型数据结构。每一个键都对应唯一的一个值,通过键来检索相应的值非常高效快捷。 - **特征描述** - 键必须独一无二而且不可改变(比如字符串或者数值). - 存储无特定次序排列. - 查找速度快. - **常规动作展示** - 新建字典对象 ```python person_info = {'name': 'John Doe', 'age': 30} empty_dict = {} another_way_to_create = dict(key='value') ``` - 更新/读写条目 ```python person_info['address'] = 'Somewhere St.' # 添加新的key-value pair age_of_person = person_info.get('age', None) # 如果不存在则返回默认参数None ``` 另外值得注意的一点就是尽管字典本身没有固定的迭代路径,但从Python3.7开始实现上已经保证了按照录入先后顺序遍历的行为模式[^4]. --- ### 综述对比表格 | 属性 | 列表(List) | 元组(Tuple) | 字典(Dict) | |--------------|---------------------|-----------------------|------------------------| | 是否可变 | 是 | 否 | 是 | | 索引支持 | 数字 | 数字 | 自定义关键字 | | 插入效率 | 较低 | 高 | N/A | | 查询速度 | O(n) | O(1)(基于hash寻址) | 平均O(1),最坏情况下O(n)|
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值