Python学习——数据结构(六)
Python数据结构文章目录Python数据结构一、列表列表方法将列表当做堆栈使用将列表当作队列使用嵌套列表解析del 语句二、元组和序列三、集合四、字典遍历技巧一、列表列表方法Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。注意:类似 insert, remove 或 sort 等修改列表的方法没有返回值。将列表当做堆栈使用列表
Python数据结构
一、列表
列表方法
Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。
注意:类似 insert, remove 或 sort 等修改列表的方法没有返回值。
将列表当做堆栈使用
列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。
将列表当作队列使用
也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。
嵌套列表解析
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
print (matrix)
transposed = []
for i in range(4):
transposed.append([row[i] for row in matrix])
print (transposed)
del 语句
使用 del 语句可以从一个列表中根据索引来删除一个元素,而不是值来删除元素。这与使用 pop() 返回一个值不同。可以用 del 语句从列表中删除一个切割,或清空整个列表
二、元组和序列
元组由若干逗号分隔的值组成
元组在输出时总是有括号的,以便于正确表达嵌套结构。在输入时可能有或没有括号, 不过括号通常是必须的
三、集合
合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
可以用大括号({})创建集合。注意:如果要创建一个空集合,你必须用 set() 而不是 {} ;
四、字典
除列表外另一个非常有用的 Python 内建数据类型是字典。
序列是以连续的整数为索引,与此不同的是,字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。
理解字典的最佳方式是把它看做无序的键=>值对集合。在同一个字典之内,关键字必须是互不相同。
一对大括号创建一个空的字典:{}。
构造函数 dict() 直接从键值对元组列表中构建字典。
dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
#{'sape': 4139, 'jack': 4098, 'guido': 4127}
遍历技巧
字典中遍历时,关键字和对应的值可以使用 items() 方法同时解读出来:
在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到:
同时遍历两个或更多的序列,可以使用 zip() 组合:
要反向遍历一个序列,首先指定这个序列,然后调用 reversed() 函数:
要按顺序遍历一个序列,使用 sorted() 函数返回一个已排序的序列,并不修改原值:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)