创建运行时长度的 Python 列表的 pythonic 方法



下面代码中的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]

相关内容

  • 没有找到相关文章

最新更新