我在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 for _ in x]
这样的理解是可行的(如果你不使用这些值,就不需要range(len(...
)。R的语法非常强调向量,而Python在这种情况下更喜欢显式指令。
您也可以尝试:
x = [1,2,3,4,5]
x = [0] * len(x)
希望这能有所帮助。
>>> x[:] = [0]*len(x)
>>> x
[0, 0, 0, 0, 0]