如何在Python中将列表初始化为特定值
我希望得到一个列表,其中每个项目都设置为某个值(在我的例子中为0)。我已经用下面的代码解决了这个问题,但感觉很混乱。肯定有更好的办法吗如何在Python中将列表初始化为特定值,python,list,Python,List,我希望得到一个列表,其中每个项目都设置为某个值(在我的例子中为0)。我已经用下面的代码解决了这个问题,但感觉很混乱。肯定有更好的办法吗 maxWidths = map(lambda x: 0, range(0, maxCols)) 将一个元素列表乘以所需的长度 maxWidths = [0] * maxCols 在上面的示例中,列表的所有元素都将是相同的对象。 如果您正在创建一个可变值列表(如dict或list),并且需要它们是不同的,您可以像在问题中那样使用map,或者编写一个等效的列表
maxWidths = map(lambda x: 0, range(0, maxCols))
将一个元素列表乘以所需的长度
maxWidths = [0] * maxCols
在上面的示例中,列表的所有元素都将是相同的对象。 如果您正在创建一个可变值列表(如dict或list),并且需要它们是不同的,您可以像在问题中那样使用
map
,或者编写一个等效的列表:
[[] for dummy in range(100)]
我就知道会有一条“巨蟒”之路!谢谢。@nickf请注意,结果列表中有对相同对象的
maxCols
引用。对于可变对象,这将导致完全不同的语义(而且几乎永远不会是可变的)。为了进一步澄清/说明:[[]]*maxCols
列表实际上将包含对同一列表的maxCols“引用”。@delnan:我刚刚用它更新了答案。好消息:)