跳至主要內容

列表

blacklad大约 3 分钟PythonPythonlist列表

列表

列表由一系列按特定顺序排列的元素组成。

一、列表的使用

在Python中,用方括号[]表示列表,并用逗号分隔其中的元素。

zoo = ['dog', 'pig', 'cat']
print(zoo)
['dog', 'pig', 'cat']

列表中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1。

zoo = ['dog', 'pig', 'cat']
# 输出列表中的第二个元素
print(zoo[2])
cat

也可以倒着索引,指定为 -1,可让 Python 返回最后一个列表元素。同理-2即为倒数第二个元素。

zoo = ['dog', 'pig', 'cat']
print(zoo[-1])
cat

二、切片读取

通过切片,可以获取列表中的部分元素。使用冒号(:)来指定切片的开始位置和结束位置(包含开始位置,不包含结束位置)。

zoo = ['dog', 'pig', 'cat']
print(zoo[1:3])
['pig', 'cat']

如果开始位置留空,表示从头开始。结束位置留空,表示到列表最后一个为止。

zoo = ['dog', 'pig', 'cat']
# 从开始到第三个元素
print(zoo[:3])
# 从第二个元素到结尾
print(zoo[1:])
['dog', 'pig', 'cat']
['pig', 'cat']

三、修改元素

通过 = 可以修改列表中的某个位置的元素。

zoo = ['dog', 'pig', 'cat']

# 修改第二个元素为 panda
zoo[1] = "panda"
print(zoo)
['dog', 'panda', 'cat']

通过变化索引,可以修改不同位置的值。

四、添加元素

在列表末尾添加元素

通过 append 方法,可以给列表末尾添加一个元素。

zoo = ['dog', 'pig', 'cat']

# 在末尾添加一个 panda
zoo.append("panda")
print(zoo)
['dog', 'pig', 'cat', 'panda']

也可以先创建一个空列表,然后给列表中依次添加元素。

zoo = []
zoo.append("cat")
zoo.append("panda")
print(zoo)
['cat', 'panda']

在任意位置添加元素

使用 insert 方法,可以在列表的任意位置添加元素。

zoo = ['dog', 'pig', 'cat']

# 在列表的第二个位置添加一个 panda
# 从0开始
zoo.insert(1, "panda")
print(zoo)
['dog', 'panda', 'pig', 'cat']

可以看到panda被插入到第二个位置。

五、删除元素

当不需要列表中的某个元素的时候,可以通过 del 删除。

zoo = ['dog', 'pig', 'cat']

# 删除第二个元素 pig
del zoo[1]
print(zoo)
['dog', 'cat']

删除某个值的元素

当不知道索引的时候,可以通过 remove 方法来删除值相等的元素。

zoo = ['dog', 'pig', 'cat']
# 删除值为pig的元素
zoo.remove('pig')
print(zoo)
['dog', 'cat']

倒着打印列表

使用 reverse() 可以反转列表元素的排列顺序。

zoo = ['dog', 'pig', 'cat']
zoo.reverse()
print(zoo)
['cat', 'pig', 'dog']

六、列表的长度

使用 len 方法可以计算出列表的元素的个数。

zoo = ['dog', 'pig', 'cat']
print(f"变量 zoo 的长度是: {len(zoo)}")
变量 zoo 的长度是: 3

七、排序

使用 sort 方法可以对列表中的所有元素排序。

zoo = ['dog', 'pig', 'cat']
zoo.sort()
print(zoo)
['cat', 'dog', 'pig']

执行后,列表中的元素按照元素的首字母进行排序。

如果不想修改原来的列表,可以通过sorted()函数对列表临时排序。

zoo = ['dog', 'pig', 'cat']
sort_zoo = sorted(zoo)
print(f"zoo is {zoo}")
print(f"sort zoo is {sort_zoo}")

zoo is ['dog', 'pig', 'cat']
sort zoo is ['cat', 'dog', 'pig']

可以看到原来的列表并没有被修改,sorted函数返回的新列表是排序后的列表。

上次编辑于:
贡献者: blacklad