"[a] + [b]" 和 "[a].extend([b])" 有什么区别呢?
"[a] + [b]" 和 "[a].extend([b])" 有什么区别呢?
这个问题已经有了答案:
合并两个列表——'+='和extend()的区别社区在1年前评审过是否重新打开此问题 并将其关闭:
原来的关闭原因仍未解决
Python中有两种合并列表的方法:
['a', 'b', 'c'] + ['x', 'y', 'z']
['a', 'b', 'c'].extend(['x', 'y', 'z'])
这两种方法有什么区别?
更Pythonic的合并超过2个列表的方法是什么?
['a', 'b', 'c'] + [1, 2, 3] + ['x', 'y', 'z']
gucci_list = ['a', 'b', 'c'] gucci_list.extend([1, 2, 3]) gucci_list.extend(['x', 'y', 'z'])
那么,如何将两种方法结合起来使用?
['a', 'b', 'c'].extend([1, 2, 3] + ['x', 'y', 'z'])
admin 更改状态以发布 2023年5月21日
第一条语句创建一个由两个匿名列表组成的新列表,并将其存储在变量new_list中:
new_list = ['a', 'b', 'c'] + ['x', 'y', 'z'] #['a', 'b', 'c', 'x', 'y', 'z']
第二条语句创建一个匿名列表['a','b','c']并将另一个匿名列表附加到其末尾(现在,第一个列表是['a','b','c','x','y','z'])。 然而,列表仍然是匿名的,不能在将来访问。由于方法extend不返回任何内容,因此分配后变量的值为None。
new_list = ['a', 'b', 'c'].extend(['x', 'y', 'z']) #None
如果首先命名列表,然后再修改它,第二条语句就可以变得有用:
old_list = ['a', 'b', 'c'] old_list.extend(['x', 'y', 'z']) # Now, the old list is a new list