将较长的语句附加到列表时,我觉得append
阅读起来很尴尬。我想要一种适用于动态列表创建的方法(即不需要先用零初始化等),但我似乎无法想出另一种方法来做我想做的事。
例子:
import math
mylist = list()
phi = [1,2,3,4] # lets pretend this is of unknown/varying lengths
i, num, radius = 0, 4, 6
while i < num:
mylist.append(2*math.pi*radius*math.cos(phi[i]))
i = i + 1
虽然append
工作得很好,但我觉得它不太清楚:
mylist[i] = 2*math.pi*radius*math.cos(phi[i])
但这不起作用,因为该元素尚不存在于列表中,产生:
IndexError: list assignment index out of range
我可以将结果值分配给临时变量,然后附加它,但这看起来很丑陋且效率低下。