python3的数据结构
一.列表(列表可以修改,字符串和元组不能)
list.append(x)-把一个元素添加到列表的结尾-相当于 a[len(a):] = [x]
list.extend(L)-通过添加指定列表的所有元素来扩充列表-相当于 a[len(a):] = L
list.insert(i, x)-在指定位置插入一个元素- a.insert(0, x)会插入到整个列表之前-a.insert(len(a), x)相当于a.append(x)
list.remove(x)-删除列表中值为 x 的第一个元素-如果没有这样的元素就会返回一个错误
list.pop([i])-从列表的指定位置移除元素并将其返回-如果没有指定索引,a.pop()返回最后一个元素
list.clear()-移除列表中的所有项-del a[:]
list.index(x)-返回列表中第一个值为 x 的元素的索引
list.count(x)-返回 x 在列表中出现的次数
list.sort()-对列表中的元素进行排序
list.reverse()-倒排列表中的元素
list.copy()-返回列表的浅复制-a[:]
1.将列表当做堆栈使用
stack.append(7)
stack.pop()
2.将列表当作队列使用
queue.append("Graham")
queue.popleft()
3.列表推导式
[3*x for x in vec if x > 3]
4.嵌套列表解析(将3X4的矩阵列表转换为4X3列表)
[[row[i] for row in matrix] for i in range(4)] transposed = [] for i in range(4): transposed.append([row[i] for row in matrix])
5.del 语句
二.元组和序列
t = 12345, 54321, 'hello!' u = t, (1, 2, 3, 4, 5) u ((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
三.集合(无序不重复)
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} print(basket) # 删除重复的 {'orange', 'banana', 'pear', 'apple'} 'orange' in basket # 检测成员 True 'crabgrass' in basket False
以下演示了两个集合的操作
a = set('abracadabra') b = set('alacazam') a # a 中唯一的字母 {'a', 'r', 'b', 'c', 'd'} a - b # 在 a 中的字母,但不在 b 中 {'r', 'd', 'b'} a | b # 在 a 或 b 中的字母 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} a & b # 在 a 和 b 中都有的字母 {'a', 'c'} a ^ b # 在 a 或 b 中的字母,但不同时在 a 和 b 中 {'r', 'd', 'b', 'm', 'z', 'l'}
四.字典
tel = {'jack': 4098, 'sape': 4139}
关键字和对应的值可以使用 items() 方法同时解读出来
knights = {'gallahad': 'the pure', 'robin': 'the brave'} for k, v in knights.items(): print(k, v) gallahad the pure robin the brave
同时遍历两个或更多的序列,可以使用 zip() 组合
questions = ['name', 'quest', 'favorite color'] answers = ['lancelot', 'the holy grail', 'blue'] for q, a in zip(questions, answers): print('What is your {0}? It is {1}.'.format(q, a)) What is your name? It is lancelot. What is your quest? It is the holy grail. What is your favorite color? It is blue.
本文来自博客园,作者:东岸,转载请注明原文链接:https://www.cnblogs.com/donghao99/p/18165199
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)