Python列表与元组
Python列表与元组
列表
格式
python中的列表是一种强大的容器,允许用户往其中添加任意数据类型的元素,且可以混用
elements = [1, 2, 3, "a", "b", "c"]
print(elements)
运行结果如下:
[1, 2, 3, 'a', 'b', 'c']
访问与修改
列表支持随机访问,进行访问后输出元素将不再带"[]"
elements = [1, 2, 3, "a", "b", "c"]
print(elements[3].upper())
运行结果如下:
A
列表支持负数索引,-i表示倒数第i个元素,例如下标-1可以直接访问列表的最后一个元素
elements = [1, 2, 3, "a", "b", "c"]
print(elements[-1].upper())
print(elements[-2].upper())
print(elements[-3].upper())
运行结果如下:
C
B
A
访问元素时也可以进行修改
elements = [1, 2, 3, "a", "b", "c"]
elements[-1]="d"
print(elements)
运行结果如下:
[1, 2, 3, 'a', 'b', 'd']
添加元素
append
使用append方法向列表尾端添加元素
elements = []
elements.append(1)
elements.append(2)
elements.append(3)
print(elements)
运行结果如下:
[1, 2, 3]
insert
用insert在列表的指定索引处插入元素
elements = [1, 2, 3, 5, 6, 7]
elements.insert(3, "4")
print(elements)
运行结果如下:
[1, 2, 3, '4', 5, 6, 7]
删除元素
del
给定某一变量,del可以将其直接删除
elements = [1, 2, 3, 5, 6, 7]
del elements[1]
print(elements)
运行结果如下
[1, 3, 5, 6, 7]
被del 删除的变量会像没有被建立过一样,无法通过任何形式访问
pop
pop方法将列表指定索引的元素删除,并返回删除的元素.当不传入参数时,默认删除列表末尾的元素
elements = [1, 2, 3, 4, 5, 6, 7]
a = elements.pop()
print(elements)
b = elements.pop(0)
print(elements)
print(f"{a} {b}")
运行结果如下:
[1, 2, 3, 4, 5, 6]
[2, 3, 4, 5, 6]
7 1
remove
remove方法删除列表中指定值的元素。当列表中有多个指定值元素时,只删除第一个
elements = [1, 2, 1, 4, 1, 6, 1]
print(elements)
运行结果如下:
[1, 2, 1, 4, 1, 6, 1]
管理列表
本节介绍一些列表的管理方式
sort
使用sort方法将列表排序,默认为升序,通过传递reverse=Ture参数可以进行降序排序
elements = [1, 2, 1, 4, 1, 6, 1]
elements.sort()
print(elements)
elements.sort(reverse=True)
print(elements)
运行结果如下:
[1, 1, 1, 1, 2, 4, 6]
[6, 4, 2, 1, 1, 1, 1]
sorted
sorted函数返回指定列表的排序结果而不影响列表本身
elements = [1, 2, 1, 4, 1, 6, 1]
print(sorted(elements))
print(sorted(elements, reverse=True))
print(elements)
运行结果如下:
[1, 1, 1, 1, 2, 4, 6]
[6, 4, 2, 1, 1, 1, 1]
[1, 2, 1, 4, 1, 6, 1]
reverse
reverse方法将列表翻转
elements = [1, 2, 1, 4, 1, 6, 1]
elements.reverse()
print(elements)
运行结果如下:
[1, 6, 1, 4, 1, 2, 1]
len
len函数返回指定列表的元素个数
elements = [1, 2, 3, 4, 5, 6, 7]
print(len(elements))
运行结果如下:
7
数值列表
range
使用range函数生成一个数值区间。当传入一个参数时,range默认从0开始到指定值生成区间,当传入两个参数时,range直接按照参数生成区间。注意和其他语言一样,range生成的数值区间是左闭右开的
for value in range(6):
print(value)
print("---------")
for value in range(1, 6):
print(value)
运行结果如下:
0
1
2
3
4
5
---------
1
2
3
4
5
list
list函数可以将指定数值区间转为列表。
range支持第三个参数:步长。使得数值区间在原本左闭右开的范围内按指定步长进行增长
numlist = list(range(2, 11, 2))
print(numlist)
运行结果如下:
[2, 4, 6, 8, 10]
列表统计
通过这些函数来方便的获取指定列表的统计特征
numlist = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(min(numlist))
print(max(numlist))
print(sum(numlist))
运行结果如下:
1
9
45
列表推导式
通过形如 [因变量 for 自变量 in 数值区间] 的语句可以快速的建立指定列表
numlist = [value**2 for value in range(10)]
print(numlist)
运行结果如下:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
切片
通过形如 列表[a:b]的语法可以获取指定列表指定下标范围内的子列表,下标区间依然为左闭右开
numlist = [value**2 for value in range(10)]
print(numlist[4:7])
print(numlist[4:])
print(numlist[:7])
print(numlist[-3:])
print(numlist[:])
运行结果如下:
[16, 25, 36]
[16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
元组
定义元组
元组类似于列表,但其中元素不可修改.使用圆括号而非方括号进行定义,支持下标访问
dimensions=(0,1,2)
print(dimensions)
运行结果如下:
(0, 1, 2)
直接对元组元素进行访问修改会报错
dimensions=(0,1,2)
dimensions[0]=1
运行结果如下:
Traceback (most recent call last):
File "d:\VSCodeData\PythonCodes\Ducking.py", line 2, in <module>
dimensions[0]=1
~~~~~~~~~~^^^
TypeError: 'tuple' object does not support item assignment
修改元组变量
虽然不可修改元组的元素,但可以直接对整个元组重新定义:
dimensions=(0,1,2)
print(dimensions)
dimensions=(1,2,3)
print(dimensions)
运行结果如下:
(0, 1, 2)
(1, 2, 3)

浙公网安备 33010602011771号