如何展开Python数组
如何展开Python数组
这个问题在这里已经有答案了:
在JS中我可以这样做
const a = [1,2,3,4] const b = [10, ...a] console.log(b) // [10,1,2,3,4]
Python中是否有类似的方法?
admin 更改状态以发布 2023年5月21日
这个问题没有明确说明你想要实现什么。
要复制该操作,可以使用Python的列表extend
方法,该方法将传递给它的列表中的项附加到当前列表的末尾:
>>> list_one = [1,2,3] >>> list_two = [4,5,6] >>> list_one.extend(list_two) >>> list_one [1, 2, 3, 4, 5, 6]
如果你需要在特定插入点扩展一个列表,可以使用列表切片:
>>> l = [1, 2, 3, 4, 5] >>> l[2:2] = ['a', 'b', 'c'] >>> l [1, 2, 'a', 'b', 'c', 3, 4, 5]
正如Alexander在评论中指出的那样,列表加法是连接操作。
a = [1,2,3,4] b = [10] + a # N.B. that this is NOT `10 + a` # [10, 1, 2, 3, 4]
你也可以使用list.extend
方法。
a = [1,2,3,4] b = [10] b.extend(a) # b is [10, 1, 2, 3, 4]
而且Python的新版本允许你(滥用)星号 (*
)操作符。
b = [10, *a] # [10, 1, 2, 3, 4]
你的选择可能反映了需要对现有列表进行修改或不修改的需求。
a = [1,2,3,4] b = [10] DONTCHANGE = b b = b + a # (or b += a) # DONTCHANGE stays [10] # b is assigned to the new list [10, 1, 2, 3, 4] b = [*b, *a] # same as above b.extend(a) # DONTCHANGE is now [10, 1, 2, 3, 4]! Uh oh! # b is too, of course...