- 6.14. 表达式列表
6.14. 表达式列表
- expression_list ::=
expression(","expression)* [","]- starred_list ::=
starred_item(","starred_item)* [","]- starred_expression ::=
expression| (starred_item",")* [starred_item]- starred_item ::=
expression| "*"or_expr
除了作为列表或集合显示的一部分,包含至少一个逗号的表达式列表将生成一个元组。 元组的长度就是列表中表达式的数量。 表达式将从左至右被求值。
一个星号 * 表示 可迭代拆包。 其操作数必须为一个 iterable。 该可迭代对象将被拆解为迭代项的序列,并被包含于在拆包位置上新建的元组、列表或集合之中。
3.5 新版功能: 表达式列表中的可迭代对象拆包,最初由 PEP 448 提出。
末尾的逗号仅在创建单独元组 (或称 单例) 时需要;在所有其他情况下都是可选项。 没有末尾逗号的单独表达式不会创建一个元组,而是产生该表达式的值。 (要创建一个空元组,应使用一对内容为空的圆括号: ()。)
