鱼C论坛

 找回密码
 立即注册
查看: 1863|回复: 3

[已解决]如何才能出现None,很少见到。请求帮助

[复制链接]
发表于 2023-8-4 19:05:16 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
s=[1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9]
print(s.extend([7,8,9]))
结果
None
为何打印的是None?

最佳答案
2023-8-4 19:05:37
[b]问题:关于 Python 中列表的 extend 方法返回 None 的原因。[/b]

根据您提供的代码,您尝试使用列表的 extend 方法来扩展一个列表,并打印结果。然而,您可能注意到打印的结果是 None 而不是预期的列表。

这是因为 extend 方法具有原地修改列表的特性,并且它不返回新的列表。相反,它会直接修改原始列表并返回 None

因此,在您的代码中,s.extend([7, 8, 9]) 这一行会将列表 s 扩展为 [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9, 7, 8, 9],但该方法不会返回这个扩展后的列表。因此,print(s.extend([7, 8, 9])) 会打印出 None

如果您想要打印扩展后的列表,可以先使用 extend 方法扩展列表,然后再打印列表本身,不需要打印 extend 方法的返回值。

以下是修改后的示例代码:
s = [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9]s.extend([7, 8, 9])print(s)
这将打印出 [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9, 7, 8, 9]

希望以上解释能够帮助您理解为何打印的结果是 None。如果您还有其他疑问,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-4 19:05:30 | 显示全部楼层
在Python中, extend() 方法是用于将一个可迭代对象的元素添加到列表中的方法。该方法没有返回值,也就是说它不会返回任何结果。当使用 print() 函数打印 extend() 方法的返回值时,由于该方法没有返回值,所以会打印出 None 。

在你的代码中, s.extend([7,8,9]) 会将列表 [7,8,9] 中的元素添加到列表 s 中。由于 extend() 方法没有返回值,所以 print() 函数打印出了 None 。

如果你想在打印列表 s 之后看到添加了新元素的结果,可以直接打印列表 s ,而不需要打印 extend() 方法的返回值。例如:
s = [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9]
s.extend([7,8,9])
print(s)

这样会打印出添加了新元素的列表 s 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 19:05:31 | 显示全部楼层
[b]问题:关于为什么在使用 extend 方法后打印的结果是 None。[/b]

在 Python 中,list 类型的 extend 方法用于将一个可迭代对象的元素添加到列表中。但需要注意的是,该方法是就地操作,即直接修改原始列表,并且不返回任何值。

因此,当您执行 s.extend([7, 8, 9]) 这个语句时,它会将 [7, 8, 9] 的元素添加到列表 s 中,但该方法并不会返回任何结果。因此,print(s.extend([7, 8, 9])) 打印的结果是 None,表示该语句没有返回值。

如果您想要打印修改后的列表 s,可以在调用 extend 方法之后直接打印 s,如下所示:
s = [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9]s.extend([7, 8, 9])print(s)
这样,您将获得包含新元素的列表 s 的输出。

希望以上解释对您有帮助。如果还有其他问题,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-4 19:05:37 | 显示全部楼层    本楼为最佳答案   
[b]问题:关于 Python 中列表的 extend 方法返回 None 的原因。[/b]

根据您提供的代码,您尝试使用列表的 extend 方法来扩展一个列表,并打印结果。然而,您可能注意到打印的结果是 None 而不是预期的列表。

这是因为 extend 方法具有原地修改列表的特性,并且它不返回新的列表。相反,它会直接修改原始列表并返回 None

因此,在您的代码中,s.extend([7, 8, 9]) 这一行会将列表 s 扩展为 [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9, 7, 8, 9],但该方法不会返回这个扩展后的列表。因此,print(s.extend([7, 8, 9])) 会打印出 None

如果您想要打印扩展后的列表,可以先使用 extend 方法扩展列表,然后再打印列表本身,不需要打印 extend 方法的返回值。

以下是修改后的示例代码:
s = [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9]s.extend([7, 8, 9])print(s)
这将打印出 [1, 2, 3, 4, 5, 6, '6', 6, 7, 8, 9, 7, 8, 9]

希望以上解释能够帮助您理解为何打印的结果是 None。如果您还有其他疑问,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 04:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表