Na f=[]
v nižšie kód zdá strata riadok, ale ja som don "t vedieť, ako sa dostať okolo neho.
1)
f=[]
for x in X:
f.append(foo(x))
2)
f=[]
[f.append(foo(x)) for x in X]
Len som sa opýtať, čo je najviac "pythonic" spôsob, ako to urobiť.Na f=[]
Zdá sa, že linka je unpythonic.
odpovede:
3 pre odpoveď č. 1Radšej si prečítajte o Zoznam comprehensions v jazyku python
f = [foo(x) for x in X]
0 pre odpoveď č. 2
f = [None]*len(X)
vytvorí zoznam žiadne prvky v rovnakej veľkosti ako X a je o (n)
f = list(X)
skopíruje X f a má rovnakú časovú zložitosť ako vyššie podľa https://wiki.python.org/moin/TimeComplexity
Ak ste chcel konkrétne vytvoriť zoznam, kde každý prvok je foo(x), potom áno:
f = [foo(x) for x in X]