原文: How to Add to a List in Python – List Addition Tutorial

列表是一个由方括号包围的元素的可变序列。如果你熟悉 JavaScript,Python 列表就像一个 JavaScript 数组。它是 Python 中内置的数据结构之一。其他数据结构的是元组、字典和集合。

一个列表可以包含任何数据类型,如整数、浮点数、字符串和布尔值:

num_list = [1, 2, 3, 10]

float_list = [2.9, 3.9, 4.6]

boo_list = [True, False]

string_list = ['JavaScript', 'Python', 'freeCodeCamp']

它也可以包含多种数据类型:

mixed_list = ['freeCodeCamp', 1, 1.1, True]

由于列表是可变的,你可以向其中添加项目或从其中删除项目。本文将告诉你如何向列表中添加项目。

我们将讨论的内容

  • 如何在 Python 中给列表添加元素
    • 如何用 append() 方法给列表添加元素
    • 如何用 insert() 方法给列表添加元素
    • 如何用 extend() 方法给列表添加元素
    • 如何用 append() 方法将一个字典添加到一个列表中
  • 小结

如何在 Python 中给列表添加元素

Python 提供了 3 种方法,你可以用这些方法向列表中添加内容。这些方法是 append()extend()insert()

如何用 append() 方法给列表添加元素

append() 元素添加元素到一个列表的末尾。

假设我们有下面这个列表:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]

如果我想把 “Cricket” 添加到该列表的末尾,我可以用 append() 方法这样做:

sports_list.append("Cricket")

打印 sports_list 到控制台结果是这样的:

['Football', 'Basketball', 'Baseball', 'Tennis', 'Cricket']

你可以看到 Cricket 被添加到列表中的最后一个索引。

你也可以用这种方式提示用户添加元素到列表中:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]
new_sport = input("Please add a new sport: ")
sports_list.append(new_sport)

print(sports_list)

如何用 insert() 方法给列表添加元素

append() 方法可以帮助你添加元素到列表的末尾,但是如果你想添加到任何你想要的索引,你可以使用 insert() 方法。

要使用 insert() 方法来添加元素到一个列表中,你需要指定索引,然后是你想添加的元素:

insert(index, item)

我是这样把 Athletics 添加到 sports_list 的第一个索引(0)的:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]
sports_list.insert(0, "Athletics")
print(sports_list)

# Output: ['Athletics', 'Football', 'Basketball', 'Baseball', 'Tennis']

我还用这种方式在索引 2(第 3 个位置)中增加了 Wrestling

sports_list.insert(2, "Wrestling")
print(sports_list)

# Output: ['Athletics', 'Football', 'Wrestling', 'Basketball', 'Baseball', 'Tennis']

如何用 extend() 方法给列表添加元素

extend() 方法将一个可迭代的数据项添加到一个列表中,或者将一个列表添加到另一个列表中。因此,通过它,你可以将一个元组、集合或字典添加到一个列表中。

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]

# add another list
sports_list.extend(["Golf", "Boxing"])

# Append a tuple
sports_list.extend(("Netball", "TT"))

print(sports_list)

# Output: ['Football', 'Basketball', 'Baseball', 'Tennis', 'Golf', 'Boxing', 'Netball', ‘TT']

如何用 append() 方法给列表添加元素

如果你尝试用 extend() 方法将一个字典添加到一个列表中,你只能得到键而不是值:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]
sports_dict = {1: "Netball", 2: "Chess"}

sports_list.extend(sports_dict)
print(sports_list)
# Output:  ['Football', 'Basketball', 'Baseball', 'Tennis', 1, 2]

你可以遍历字典,然后用 append() 方法把它加到列表中。这将把字典的键和值作为列表中的一个元组:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]
sports_dict = {1: "Netball", 2: "Chess"}

for k, v in sports_dict.items():
    sports_list.append((k, v))

print(sports_list)

# Output: ['Football', 'Basketball', 'Baseball', 'Tennis', (1, 'Netball'), (2, 'Chess')]

如果你希望字典就在列表里面,你可以直接使用 append() 方法,不需要循环:

sports_list = ["Football", "Basketball", "Baseball", "Tennis"]
sports_dict = {1: "Netball", 2: "Chess"}

sports_list.append(sports_dict)
print(sports_list)

# Output: ['Football', 'Basketball', 'Baseball', 'Tennis', {1: 'Netball', 2: 'Chess'}]

小结

在这篇文章中,我们看了如何使用 append()insert()extend() 方法在 Python 中向一个列表中添加内容。

你添加到列表中的东西不一定是单个元素。这就是为什么我向你展示了如何使用 extend() 方法来帮助你向列表中添加像列表、元组和字典这样的可迭代元素。

谢谢你阅读本文。