Есть ли причина, по которой цикл в неявном корте в цикле for
в порядке, но когда вы это понимаете, вы получаете синтаксическую ошибку?Почему вы можете прокручивать неявный кортеж в цикле for, но не понимать Python?
Например:
for i in 'a','b','c':
print(i)
'a'
'b'
'c'
Но в понимании:
>>> [i for i in 'a','b','c']
File "<stdin>", line 1
[i for i in 'a','b','c']
^
SyntaxError: invalid syntax
есть причина для этого? Я не был уверен в правильной терминологии, поэтому мои поиски не дали ничего полезного.
Update:
За комментариями, этот синтаксис является действительно для Python 2.x, но не для Python 3.x.
Мне никогда не нравились * неявные кортежи *, поэтому оба выглядят плохо для меня, но вопрос интересный –
Будет ли это ':', который помогает распознать конец неявного кортежа? – LMc
Он работает в Python 2.7, но не в Python 3 –