在 Python 中从 list.append() 返回一个新列表

使用加法 + 运算符而不是 list.append() 通过将值附加到现有列表来返回新列表,例如 new_list = a_list + [‘value’]。 当与两个列表一起使用时,加法运算符将列表组合并返回一个新列表。

a_list = ['www', 'zadmei']

new_list = a_list + ['com']

print(new_list)  # 👉️ ['www', 'zadmei', 'com']

list.append() 方法在改变原始列表时返回 None 。

改变原始对象的方法通常在 Python 中返回 None。

但是,我们可以使用加法 + 运算符来组合两个或多个列表。

print(['a'] + ['b']) # 👉️ ['a', 'b']

我们可以使用带有布尔值或运算符的 list.append() 方法将值附加到列表并返回列表对象。

a_list = ['www', 'zadmei']

same_list = a_list.append('com') or a_list
print(same_list)  # 👉️ ['www', 'zadmei', 'com']

如果表达式 x 或 y 为真,则返回左边的值,否则返回右边的值。

这两个变量存储相同的列表(内存中的相同位置),因此改变一个变量会改变另一个变量。

或者,我们可以使用可迭代的拆包运算符。


使用可迭代解包从 list.append() 返回一个新列表

在将值附加到现有列表时,使用可迭代解包运算符而不是 list.append() 返回新列表,例如 new_list = [*a_list, ‘value’]。 可迭代解包操作符将现有列表中的项目解包到一个新列表中。

a_list = ['www', 'zadmei']

new_list = [*a_list, 'com']
print(new_list)  # 👉️ ['www', 'zadmei', 'com']

* 可迭代解包运算符使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。

example = (*(1, 2), 3)

# 👇️ (1, 2, 3)
print(example)

可以想象我们解压列表的项目并将它们作为逗号分隔值传递以创建一个新列表。

解压现有列表后,您可以向列表中添加一个或多个值。

选择哪种方法是个人喜好的问题。 我会使用可迭代的拆包运算符,因为我发现它更具可读性和直接性。