在python中,为什么我不能在print函数中使用extend函数?
In python, why can't I use the extend function inside the print function?
如果我这样写代码,
friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]
lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]
friends.extend(lucky_numbers)
print(friends)
然后我的代码运行完美。但是如果我像这样在打印函数中使用扩展函数,
friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]
lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]
print(friends.extend(lucky_numbers))
然后我得到 "None" 作为输出。为什么我不能在打印函数中使用扩展函数?
extend 是 returns 没有的就地函数。
从一个没有返回任何东西的函数打印输出会给你 None
如果您不想更改 friends
则复制一份
newfriends = friends.copy()
newfriends.extend(lucky_numbers)
print(newfriends)
您的打印语句打印 friends.extend(lucky_numbers)
的 return,即 None。
来自文档:
array.extend(可迭代) -
将 iterable 中的项目附加到数组的末尾。
所以 extend()
改变了调用它的数组,但它没有 return 任何东西,因此没有什么可打印的。
如果我这样写代码,
friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]
lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]
friends.extend(lucky_numbers)
print(friends)
然后我的代码运行完美。但是如果我像这样在打印函数中使用扩展函数,
friends = ["Kafi", "Saif", "Shaheer", "Azmain", "Labid", "Faiz", "Azmain"]
lucky_numbers = [114, 151, 172, 7, 1, 63, 14, 543]
print(friends.extend(lucky_numbers))
然后我得到 "None" 作为输出。为什么我不能在打印函数中使用扩展函数?
extend 是 returns 没有的就地函数。
从一个没有返回任何东西的函数打印输出会给你 None
如果您不想更改 friends
则复制一份
newfriends = friends.copy()
newfriends.extend(lucky_numbers)
print(newfriends)
您的打印语句打印 friends.extend(lucky_numbers)
的 return,即 None。
来自文档:
array.extend(可迭代) - 将 iterable 中的项目附加到数组的末尾。
所以 extend()
改变了调用它的数组,但它没有 return 任何东西,因此没有什么可打印的。