从变量和另一个列表创建列表的正确方法是什么?

时间:2011-12-18 16:24:03

标签: python list

这是我能想到的唯一方式:

var = 1
list = [2, 3, 4]
newList = [var,] + list

这是正确的方法吗?

更新:我需要制作一个新列表,因此插入无效

6 个答案:

答案 0 :(得分:4)

你的方法很好(除了1个列表不需要额外的逗号);人们已经用这种方式做了很长时间。

答案 1 :(得分:2)

,之后使用var我不确定你想要暗示什么,但通常你赢了;不需要它。当你试图在这里获得其他选择是另一种方法

lst.insert(0,var)

如果您不打算修改原始列表,可能需要将其复制到另一个列表

newList=lst[::]

然后执行插入

lst.insert(0,var)

这是风格问题,但我更喜欢

newList=[var]+lst

注* * 的 通常,如果您不打算修改原始列表,

newlst = [var] + lst

看起来更干净

但是如果你想在适当的位置修改你的选项

lst = [var] + lst

lst.insert(0,var)

后一个更可取,因为它更具可读性,而且你可以在lambda和list-comprehension中使用它: - )

答案 2 :(得分:2)

一般来说,你想避免在Python的列表开头添加内容:它的成本为O(n)。

如果你必须(并且效率低下并不重要),你可以这样做:

[a] + other_list

如果您不介意更新自己的清单,可以这样做:

other_list.insert(0, a)

如果您可以使用迭代器而不是列表,则可以有效地使用:

itertools.chain([a], other_list)

答案 3 :(得分:0)

使用追加方法:

list.append(var)

或插入您想要将新元素放在开头:

list.insert(0,var)

答案 4 :(得分:0)

这个怎么样?

a_list = []
v = 1
list_to_add = [2, 3, 4]
a_list.append(v)
a_list.extend(list_to_add)

答案 5 :(得分:0)

供您参考,请仔细阅读 LIST