迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中 为什么 list.append() 返回 None

作者:迹忆客 最近更新:2022/11/10 浏览次数:

list.append() 方法返回 None 因为它改变了原始列表。 大多数在原地改变对象的方法在 Python 中返回 None。

a_list = ['www', 'jiyik']

a_list.append('.')
a_list.append('com')

print(a_list)  # 👉️ ['www', 'jiyik', '.', 'com']

python list append 方法返回 None

list.append() 方法将一个项目添加到列表的末尾。

该方法在改变原始列表时返回 None 。

这是 Python 中的一种约定,用于改变原始对象以返回 None 的方法。

如果我们需要通过将值附加到现有列表来获取新列表,请使用加法 + 运算符。

a_list = ['www', 'jiyik']

new_list = a_list + ['com']

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

print(a_list)  # 👉️ ['www', 'jiyik']

当加法 + 运算符与两个列表一起使用时,它将这些列表组合成一个列表。

注意 ,原始列表保持不变。

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

a_list = ['www', 'jiyik']


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

print(a_list)  # 👉️ ['www', 'jiyik', 'com']

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

list.append() 方法将值添加到列表的末尾并返回 None,因此返回后备值。

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

或者,我们可以使用可迭代解包运算符通过将值附加到现有列表来获取新列表。

a_list = ['www', 'jiyik']

new_list = [*a_list, 'com']

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

print(a_list)  # 👉️ ['www', 'jiyik']

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

example = (*('a', 'b'), 'c')

# 👇️ ('a', 'b', 'c')
print(example)

Python 星号可迭代解包运算符

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

解压现有列表后,我们可以将一个或多个值添加到列表中。

不要尝试将调用 append()insert()extend() 的结果分配给变量,因为改变原始对象的方法最常返回 None。

大多数情况下,我们可以将鼠标悬停在 IDE 中的方法上以查看方法的返回值。

如果一个方法返回 None,那么它就地改变一个对象。

相反,大多数返回 None 以外的值的方法通常会返回一个新对象并且不会改变原始对象。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便