У меня проблема с пониманием процесса распаковки аргументов из списка с помощью оператора star в 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! Вы хотите ответить, чтобы я принял ваш ответ? –