下面代码中的f=[]
似乎浪费了一行,但我不知道如何绕过它。
1)
f=[]
for x in X:
f.append(foo(x))
2)
f=[]
[f.append(foo(x)) for x in X]
我只是想知道最"pythonic"的方法是什么。f=[]
行似乎不python。
你最好阅读一下python中的列表推导
f = [foo(x) for x in X]
f = [None]*len(X)
创建一个与 X 大小相同的 None 元素列表,并且为 O(n)
f = list(X)
将 X 复制到 f,并且根据 https://wiki.python.org/moin/TimeComplexity 具有与上述相同的时间复杂度
如果你打算专门创建一个列表,其中每个元素都是foo(x),那么是的:
f = [foo(x) for x in X]