[a] + [b] 和 [a].extend([b]) 有什么区别?
What's the difference between [a] + [b] and [a].extend([b])?
在 Python 中有 2 种方法可以合并列表:
['a', 'b', 'c'] + ['x', 'y', 'z']
['a', 'b', 'c'].extend(['x', 'y', 'z'])
这两种方法有什么区别?
连接 2 个以上列表的更 Pythonic 方法是什么?
['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'])
['a', 'b', 'c'] + ['x', 'y', 'z']
创建一个新列表。
['a', 'b', 'c'].extend(['x', 'y', 'z'])
通过向其中添加第二个列表来修改第一个列表。由于第一个列表未被变量引用,因此结果列表将不再可访问
第一个从两个创建一个新数组。
第二个改变了原始列表。
第一个语句从两个匿名列表中创建一个新列表并将其存储在变量中 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
returns什么都没有,赋值后变量的值为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
在 Python 中有 2 种方法可以合并列表:
['a', 'b', 'c'] + ['x', 'y', 'z']
['a', 'b', 'c'].extend(['x', 'y', 'z'])
这两种方法有什么区别?
连接 2 个以上列表的更 Pythonic 方法是什么?
['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'])
['a', 'b', 'c'] + ['x', 'y', 'z']
创建一个新列表。
['a', 'b', 'c'].extend(['x', 'y', 'z'])
通过向其中添加第二个列表来修改第一个列表。由于第一个列表未被变量引用,因此结果列表将不再可访问
第一个从两个创建一个新数组。 第二个改变了原始列表。
第一个语句从两个匿名列表中创建一个新列表并将其存储在变量中 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
returns什么都没有,赋值后变量的值为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