Списки виразів

Оновлено: 24.04.2023

expression_list    ::=  expression ("," expression)* [","]
starred_list       ::=  starred_item ("," starred_item)* [","]
starred_expression ::=  expression | (starred_item ",")* [starred_item]
starred_item       ::=  assignment_expression | "*" or_expr

За винятком випадків, коли є частиною списку або відображення набору, список виразів, що містить принаймні одну кому, дає кортеж. Довжина кортежу — це кількість виразів у списку. Вирази обчислюються зліва направо.

Зірочка * позначає iterable unpacking. Його операнд має бути iterable. Ітерація розгортається в послідовність елементів, які включені в новий кортеж, список або набір на місці розпакування.

Кінцева кома потрібна лише для створення одного кортежу (він же singleton); у всіх інших випадках це необов’язково. Один вираз без кінцевої коми не створює кортеж, а скоріше видає значення цього виразу. (Щоб створити порожній кортеж, використовуйте порожню пару круглих дужок: ().)