[Python]列表与元组详解:概念与操作指南
目录
0.是什么?
vector
const arr[]
1.列表
1.创建列表
[]
list()
,为Python本身的内建函数alist = [ ] alist = list()
[]
当中
alist = [1, 2, 3, 4]
alist = [1, 'SnowK', True]
2.访问下标
通过下标访问操作符[]
来获取到列表中的任意元素,下标从0
开始计数
alist = [1, 2, 3, 4]
print(alist[2])
通过下标不光能读取元素内容,还能修改元素的值
如果下标超出列表的有效范围,会抛出异常
因为下标是从0
开始的,因此下标的有效范围是[0, 列表长度 - 1]
len()
可以获取到列表的元素个数下标可以取负数,表示:倒数第几个元素
alist = [1, 2, 3, 4]
print(alist[3])
# alist[-1] 相当于 alist[len(alist) - 1]
print(alist[-1])
3.切片操作
[ : ]
的方式进行切片操作,为一个**前闭后开**区间
alist = [1, 2, 3, 4]
print(alist[1:3])
alist = [1, 2, 3, 4]
print(alist[1:]) # 省略后边界, 表示获取到列表末尾
print(alist[:-1]) # 省略前边界, 表示从列表开头获取
print(alist[:]) # 省略两个边界, 表示获取到整个列表
alist = [1, 2, 3, 4, 5, 6, 7, 8]
print(alist[::1]) # 输出 1 2 3 4 5 6 7 8
print(alist[::2]) # 输出 1 3 5 7
alist = [1, 2, 3, 4, 5, 6, 7, 8]
print(alist[::-1]) # 输出 8 7 6 5 4 3 2 1
print(alist[::-2]) # 输出 8 6 4 2
alist = [1, 2, 3, 4]
print(alist[100:200]) # 输出[]
4.遍历列表元素
for
循环 -> 类似C++的范围for
alist = [1, 2, 3, 4]
for e in alist:
print(e)
for
按照范围生成下标,按下标访问
alist = [1, 2, 3, 4]
for i in range(0, len(alist)):
print(alist[i])
while
循环,手动控制下标的变化
alist = [1, 2, 3, 4]
i = 0
while i < len(alist):
print(alist[i])
i += 1
5.新增元素
append()
,向列表末尾插入一个元素
alist = [1, 2, 3, 4]
alist.append('hello')
insert()
,向任意位置插入一个元素
alist = [1, 2, 3, 4]
alist.insert(1, 'hello')
6.查找元素
in
操作符,判定元素是否在列表中存在,返回值是布尔类型
alist = [1, 2, 3, 4]
print(2 in alist)
index()
,查找元素在列表中的下标,返回值是一个整数,如果元素不存在,则会抛出异常
alist = [1, 2, 3, 4]
print(alist.index(2))
7.删除元素
pop()
删除最末尾元素
alist = [1, 2, 3, 4]
alist.pop()
pop()
也能按照下标来删除元素
alist = [1, 2, 3, 4]
alist.pop(2) # 3被删去
remove()
,按照值删除元素
alist = [1, 2, 3, 4]
alist.remove(2) # 2被删去
8.连接列表
+
能够把两个列表拼接在一起
+
结果会生成一个新的列表,而不会影响到旧列表的内容
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
print(alist + blist)
extend()
,相当于把一个列表拼接到另一个列表的后面
a.extend(b)
,是把b
中的内容拼接到a
的末尾,不会修改b
,但是会修改a
expend()
是没有返回值的
alist = [1, 2, 3, 4]
blist = [5, 6, 7]
alist.extend(blist)
+=
来进行拼接,a += b <-> a = a + b
extend()
,多了三步
a
里面a
的旧值释放掉extend
是更低效的2.关于元组
()
来表示
atuple = ( )
atuple = tuple()
in
,index()
,+
等操作,元组也是一样支持的extend()
等,元组则不能支持# 下述代码输出为 <class 'tuple'>
def getPoint():
return 10, 20
result = getPoint()
print(type(result))
const arr[]
,更加安全∞.积累
len()
是Python的一个内建函数,可以传字符串,列表,元组,字典,自定义类等等
作者:DieSnowK