在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