Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何理解Python中的表达式列表_Python_List - Fatal编程技术网

如何理解Python中的表达式列表

如何理解Python中的表达式列表,python,list,Python,List,当我今天阅读Python文档时,我发现表达式列表,网站上的描述如下: 表达式\u列表::=表达式(“,”表达式)*[“,”] 包含至少一个逗号的表达式列表将生成一个元组。元组的长度是列表中表达式的数量。表达式从左到右求值 只有创建一个元组(也称为单元组)才需要后面的逗号;它在所有其他情况下都是可选的。没有尾随逗号的单个表达式不会创建元组,而是生成该表达式的值。(要创建空元组,请使用一对空括号:()) 因为网站上没有给出示例,所以我想知道是否有人可以对此进行简要描述,并给出一个使用示例。非常感谢。

当我今天阅读Python文档时,我发现
表达式列表
,网站上的描述如下:

表达式\u列表::=表达式(“,”表达式)*[“,”]

包含至少一个逗号的表达式列表将生成一个元组。元组的长度是列表中表达式的数量。表达式从左到右求值

只有创建一个元组(也称为单元组)才需要后面的逗号;它在所有其他情况下都是可选的。没有尾随逗号的单个表达式不会创建元组,而是生成该表达式的值。(要创建空元组,请使用一对空括号:())


因为网站上没有给出示例,所以我想知道是否有人可以对此进行简要描述,并给出一个使用示例。非常感谢。

这篇文章讲述了如何编写元组

比如说,

>>> 1, 2
(1, 2)
是一个两元素元组,如下所示

>>> 7*8, 5-6
(56, -1)
为了清晰起见,元组通常用括号括起来,但它们是不必要的;除了0元素元组的情况,
()

一个元素元组是另一个例外,因为其中必须有逗号:

>>> 1,
(1, )
如果没有逗号,就无法将其与正常数字
1
区分开来。您也可以在多元素元组之后添加一个额外的逗号,但在这种情况下它不会起任何作用:

>>> 1, 2,
(1, 2)

以下是一些帮助您了解情况的示例:

包含至少一个逗号的表达式列表将生成一个元组

这意味着,如果您有
1,2
,这将创建一个元组。长度是指您拥有的物品数量

仅在创建单个元组(又称元组)时才需要尾随逗号 单身人士);它在所有其他情况下都是可选的

这意味着,如果要创建包含一个项的元组,则需要在末尾添加逗号,如
1,
,否则:

没有尾随逗号的单个表达式不会创建元组, 而是产生该表达式的值

因此,
1
不是在创建元组,而是在计算表达式。这听起来很明显,但如果您编写
(1)
,然后期望它作为一个元组进行计算(在
(1)
的情况下,它将被计算为整数值
1

最后

(要创建空元组,请使用一对空括号:())

如果出于某种原因希望创建空元组作为表达式,请使用以下特殊语法
()

通常的做法是将表达式(尤其是元组)用()包围,但这不是必需的,尽管有时这有助于提高可读性<代码>1,2和
(1,2)
相等:

>>> a = 1,2
>>> type(a)
<type 'tuple'>

>>> b = (1,2)
>>> type(b)
<type 'tuple'>

>>> a == b
True
>a=1,2
>>>类型(a)
>>>b=(1,2)
>>>类型(b)
>>>a==b
真的

谢谢,伙计,我知道,但是为什么文档会在上面写
表达式列表::=expression(“,”expression)*[“,”]
?。我就是不明白这是什么意思。它是正则表达式吗?哦,不,那只是表达式本身的语法。它描述了如何解析表达式列表(即,对于令牌解析器来说它是什么样子)。请注意,表达式列表不包括parethese,因此您在开始时的示例有点误导。如果要成为表达式列表,它们应该是
1、2
1、
和1。@AlexanderYau这是一种常规语法。你找错地方了,伙计,这个页面是为那些想制作一个新的python解释器而不是编写代码的人准备的。在python文档的搜索栏中搜索“tuple”或“list”。语言引用不是用来作为语言的“tutorial”样式描述,而是用来指定语言。例如,你可能应该阅读教程,而对大多数人来说,它是一本应该首先阅读的教程。阅读本教程后,语言参考会变得更加清晰。这指定了语言,但不会教你如何制作列表。这是python文档,而不是“python文档”。这是“非常感谢”,不是“非常感谢”。