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