[Python]列表与元组详解:概念与操作指南
目录
0.是什么?
vectorconst 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,但是会修改aexpend()是没有返回值的
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