Python01 数据结构:列表和元组
2019-07-07 本文已影响0人
凡有言说
以下主要是听极客时间:Python核心技术与实战时做的笔记
对于每一门编程语言,数据结构都是重中之重。对于Python而言,常见的有:列表、元祖、字典和集合
我们用对比的方法来学习这部分内容。
列表和元组,都是一个可以放置任意数据类型的有序集合。
比如:
lis = [1, 2, 'biubiu']
lis
[1, 2, 'biubiu']
tup = ('haha', 56)
tup
('haha', 56)
它俩的区别是:
- 列表是动态的,可以任意地增加、删减或者改变元素
- 元组是静态的,无法增加、删减或者改变元素
此时,如果想对已有的元祖进行修改就必须新建元组。
tup = (1,2,3,4)
new_tup = tup + (5,) #创建新的元祖
new_tup
(1, 2, 3, 4, 5)
对于列表,直接在原列表上添加即可。
lis = [1,2,3,4]
lis.append(5)
lis
[1, 2, 3, 4, 5]
二者相同的点如
1.列表和元组都支持负数索引:
lis = [1,2,3,4]
print(lis[-1])
4
tup = (1,2,3,4)
print(tup[-1])
4
2.列表和元组都支持切片操作
lis = [1,2,3,4]
lis[0:2]
[1, 2]
tup = (1,2,3,4)
tup[1:3]
(2, 3)
3.列表和元组都可以随意嵌套
lis = [[1, 2, 3], [4, 5]] # 列表的每一个元素也是一个列表
tup = ((1, 2, 3), (4, 5, 6)) # 元组的每一个元素也是一元组
lis
[[1, 2, 3], [4, 5]]
tup
((1, 2, 3), (4, 5, 6))
此外,列表和元组可以互相转化
list((1, 2, 3))
[1, 2, 3]
tuple([1, 2, 3])
(1, 2, 3)
最后,介绍些列表和元组常用的内置函数
lis = [2, 3, 4, 7, 8, 8]
lis.count(8) #count(item)统计列表/元组中item出现的次数
2
lis.index(4) # index(item)表示列表/元组中item第一次出现的索引
2
lis.reverse() #倒转列表,列表独有
lis
[8, 8, 7, 4, 3, 2]
lis.sort() #排序,列表独有
lis
[2, 3, 4, 7, 8, 8]
tup = (2,3,4,5,5,8)
tup.count(5)
2
tup.index(4)
2
list(reversed(tup)) #对列表 / 元组进行倒转
[8, 5, 5, 4, 3, 2]
sorted(tup) #对列表 / 元组进行排序
[2, 3, 4, 5, 5, 8]
参考资料:
Python中的数据结构