我有一个Python元素列表,需要为整个列表分配一个数字。在R
中,我可以简单地完成作业,R
将rep
编号必要的次数。在Python中,进行列表理解是最简单的事情吗?
x = [1,2,3,4,5]
#want to assign 0 to every element, would like to do x[:] = 0 but this causes an error
x[:] = [0 for i in range(len(x))] #pretty long for such a simple operation
答案 0 :(得分:2)
是的,[0 for _ in x]
之类的理解是要走的路(如果你没有对这些值做任何事情,则不需要range(len(...
)。 R的语法非常强调向量,而Python在这种情况下偏好显式指令。
答案 1 :(得分:1)
您也可以尝试:
x = [1,2,3,4,5]
x = [0] * len(x)
希望这有帮助。
答案 2 :(得分:1)
>>> x[:] = [0]*len(x)
>>> x
[0, 0, 0, 0, 0]