4-python结构数据三兄弟
列表(list)
列表是以方括号 []
包围的数据集合,不同成员之间用逗号 ,
隔开,列表中可以包含任何数据类型,甚至是包含一个列表,列表可以通过序号(第一个是0)访问其成员。
创建列表与访问列表元素
- 创建空列表的两种方法
>>> list()
[]
>>>[]
[]
- 创建单元素列表
>>>[1,] #逗号可以省略
[1]
- 创建包含不同元素的列表
>>>[1,2,3,'a','b',[4,5]]
[1,2,3,'a','b',[4,5]]
- 访问列表元素
>>>L = [1, 2, 3, 'a', 'b', [4, 5]]
>>>L[0]
1
>>>L[5]
[4, 5]
列表运算
- 加法
>>>a = [1,2]
>>>b = [3,4,5]
>>>a + b
[1,2,3,4,5]
- 乘法
>>>L = ['a','b']
>>>L * 2
['a', 'b', 'a', 'b']
列表函数操作
先创建一个列表 list
函数操作 | 描述 | |
---|---|---|
1 | list.append(x) | 在列表list尾部追加元素x |
2 | list.extend(L) | 在list尾部追加另一个列表L |
3 | list.insert(index, object) | 在列表index处插入数据object(可以是元素或其他数据类型的数据) |
4 | list.count(x) | 返回参数x在列表中出现的次数 |
5 | list.index(x) | 返回x在列表中的序号(x不存在会报错) |
6 | list.pop() | 删除列表最后一个成员,并返回这个成员 |
7 | list.remove(x) | 删除成员x(有多个则删除第一个),不存在会报错 |
8 | list.reverse() | 将列表顺序颠倒 |
9 | list.sort() | 将列表(可以排序时)排序 |
元组 (tuple)
元组与列表差不多,就是元组一旦被创建之后就不能被修改了,包括不能修改成员,不能改变顺序,不能增添或删除数据,任何企图修改元组的操作都会发生错误。
创建元组
- 空元组
>>>()
()
>>>tuple()
()
- 单元素元组
>>>(1,) #逗号不能省略
(1,) #注意含有逗号,与列表不同
>>>2, #这样也可以
(2,)
- 其他创建方法
>>>4,5
(4,5)
>>>x, y = 1, 3 #右边看成一个元组,x和y分别与各个成员绑定
>>>x
1
>>>y
3
- 访问元组成员
>>>tpl = (1,2,3,4,5)
>>>tpl[0]
1
- 试图修改元组会报错
>>>a = (1,2,3,4)
>>>a[0] = 111
print(a)
----------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-42-8f66029cb740> in <module>
1 a = (1,2,3,4)
----> 2 a[0] = 111
3 print(a)
TypeError: 'tuple' object does not support item assignment
字典(dict)
字典是python中一种比较特别的数据类型,其中的每个成员是以 键:值
对的方式存在的。
字典的用大括号 {}
将键:值
集合包围,与列表最大不同之处是字典是无序的,在字典中通过 键
访问成员,而不能通过位置访问。
创建字典与访问成员
- 空字典
>>>{}
{}
>>>dict()
{}
- 非空字典
>>>D = {'a':1, 'b':2, 'c':3} #创建非空字典
>>>D['a'] #通过键访问成员
1
>>>D['0'] #试图通过位置访问成员,报错
----------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-47-323f7d4379be> in <module>
1 D = {'a':1, 'b':2, 'c':3}
----> 2 D[0]
KeyError: 0
字典操作函数
先创建一个字典 dic
字典操作 | 描述 | |
---|---|---|
1 | dic.clear() | 清空字典dict |
2 | dic.copy() | 复制字典 |
3 | dic.get(k,[default]) | 获得键k的值,不存在则返回default |
4 | dic.items() | 获得由键和值组成的迭代器 |
5 | dic.keys() | 获得由键组成的迭代器 |
6 | dic.values() | 获得由值组成的迭代器 |
7 | dic.pop(k) | 删除k:v 成员对 |
8 | dic.update(adict) | 从另一个字典更新成员(不存在就创建,存在就覆盖) |
9 | dic.fromkeys(iter, value) | 根据列表或元组给定的键来创建字典,默认值为value |
10 | dic.popitem() | 删除字典最后一个键值对 k:v 并返回它 |
11 | dic.setdefault(k,d) | 若字典中存在一个键k,则返回k对应的值;否则,在字典中创建键值对 k:d |
clear()
清空字典dict
copy()
复制字典
dic.get()
获得键k的值,不存在则返回default
dic.items()
获得由键和值组成的迭代器dic.keys()
获得由键组成的迭代器
dic.values()
获得由值组成的迭代器
dic.pop()
删除k:v
成员对
dic.update()
从另一个字典更新成员(不存在就创建,存在就覆盖)
dic.fromkeys()
根据列表或元组给定的键来创建字典,默认值为value
dic.popitem()
删除字典最后一个键值对k:v
并返回它
dic.setdefault
若字典中存在一个键k,则返回k对应的值;否则,在字典中创建键值对k:d
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383609.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人