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.
posted @   东岸  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示