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)

posted @ 2025-04-30 09:07  DuckingWJ  阅读(24)  评论(0)    收藏  举报