在Python 2.7中,爲什麼不是print(*[1,2])
工作?這是不是意味着print(1,2)
?如何在Python 2.7中的函數調用中使用splat
更具體到我的情況:
import numpy as np
n = np.array([1,2,3,4]) % create and manipulate numpy array
print(*n.tolist()) % print results
如果圖示功能的工作,我的下一個問題是:
- 是否在顛簸的陣列工作?
- 操作順序是什麼?即是先執行
tolist()
還是splat?
...(感謝您的快速響應)。我會接受print()
不是函數,但是csv.writer.writerow
?
讓我們得到更具體:
import numpy as np
import csv
n = np.array([1,2,3,4]) # create and manipulate numpy array
print(*n.tolist()) # print results
flName = 'C:\Users\Joe\test.csv'
fl = open(flName, 'wb')
writer = csv.writer(fl)
writer.writerow(*n.toList()) # ERROR with splat
fl.close()
現在我不知道是什麼,不被認爲是功能?
「Splat」你可愛的名字崩潰/一些調試器/ IDE做到這一點? –
@NickT這是運營商的正式名稱。查看它,或嘗試一下(當然有一個實際的功能)。 – Marcin
如果你使用的是Python 2,print(* n.tolist())不會拋出錯誤?另外,'writerow'需要一個字段列表,所以你可以刪除這個splat,它會工作得很好。 – Blender