Синтаксис кортежа в Python ⇐ Python
-
Anonymous
Синтаксис кортежа в Python
У меня возникли проблемы с пониманием некоторых синтаксисов. Особенно, когда для кортежей требуются круглые скобки ().
Например, этот фрагмент кода ниже:
c={'a':10,'b':1,'c':22,'d':10} туп=a,b=4,5 распечатать(а) распечатать(б) распечатать (туп) newlist=[(x,y) для y,x в c.items()] распечатать (новый список) Вывод этого кода:
4 5 (4, 5) [(10, 'а'), (1, 'б'), (22, 'в'), (10, 'г')] При попытке вывести скобки из x, y в операторе понимания списка я получаю обратную трассировку. Однако каждый второй кортеж в этом коде не требует скобок.
Что мне не хватает? Почему Python понимает a,b как кортеж, но не x,y, когда он находится в операторе понимания списка?
Мне кажется, что Python несовместим с синтаксисом кортежей. Я попробовал убрать скобки и поставить их обратно, чтобы понять, как работает синтаксис.
У меня возникли проблемы с пониманием некоторых синтаксисов. Особенно, когда для кортежей требуются круглые скобки ().
Например, этот фрагмент кода ниже:
c={'a':10,'b':1,'c':22,'d':10} туп=a,b=4,5 распечатать(а) распечатать(б) распечатать (туп) newlist=[(x,y) для y,x в c.items()] распечатать (новый список) Вывод этого кода:
4 5 (4, 5) [(10, 'а'), (1, 'б'), (22, 'в'), (10, 'г')] При попытке вывести скобки из x, y в операторе понимания списка я получаю обратную трассировку. Однако каждый второй кортеж в этом коде не требует скобок.
Что мне не хватает? Почему Python понимает a,b как кортеж, но не x,y, когда он находится в операторе понимания списка?
Мне кажется, что Python несовместим с синтаксисом кортежей. Я попробовал убрать скобки и поставить их обратно, чтобы понять, как работает синтаксис.