我有一個問題,理解從python中使用星號運算符從列表中解析參數的過程。python參數拆包令人費解的行爲
我跟着documentation entry,並試圖重新創建我自己的小例子。
所以我定義數字的簡單列表:
list = [1, 2, 3]
,並做了一個快速檢查,這個工程:
print(1, 2, 3)
(1, 2, 3)
,這(只是擡頭):
print([1, 2, 3])
[1, 2, 3]
另一方面,此位失敗:
print(*[1, 2, 3])
File "<stdin>", line 1
print(*[1, 2, 3])
^
SyntaxError: invalid syntax
而且這也失敗:
print(*list)
File "<stdin>", line 1
print(*list)
^
SyntaxError: invalid syntax
我的文檔中確信一切正常:
list = [1, 2]
range(*list)
[1]
它做到了。
我想了解從列表中解壓縮參數的確切工作原理以及期望從中得到的結果,因爲它看起來並不像我想象的那麼直截了當。
你使用Python 2.7?在這種情況下,'print'語句不是一個函數,所以星形運算符將不會像您所期望的那樣工作。 – Kevin
適用於python3.2! 你想回答,所以我會接受你的答案? –