len(list)末尾的逗号是什么意思?

时间:2020-04-14 03:38:31

标签: python python-3.x list

我很好奇为什么可以在len(list)的末尾添加逗号来引用列表中的最后一项。谁能解释一下? 它仅在列表中起作用吗?列表中的其他项目如何?我也可以使用 len(list)进行访问吗?

list=[10,20,30,40,50,60]
for num in len(list),: 
    print(num,end=" ")

输出数字为6。

2 个答案:

答案 0 :(得分:2)

len(list)返回一个整数,该整数与列表list中的元素数量相对应(顺便说一句,它的命名很差,因为您应该避免对变量使用内置名称) 。 for num in len(list),中的逗号将其转换为一个元组,这意味着for循环可以迭代一项,您可以通过在交互式解释器中运行来查看该项:

len(list),

输出:

(6,)

您所指示的for循环将打印:6,它是list的长度。它不访问list的最后一个元素60

for循环是此语法的不寻常用法,因为很明显,只有一个元素,而无需进行迭代。

答案 1 :(得分:2)

for num in len(nums),: 

等同于:

>>> nums = [10,20,30,40,50,60]
>>> for num in (len(nums), ):
...   print(num)
... 
6

(len(nums), )是一个单元组,即具有1个单个元素的元组。

使用这种表示法的原因是因为如果我这样做

(len(nums))没有结尾的,(逗号),然后Python决定它与len(nums)相同,而不是一个元组,因为我们需要能够对许多对象使用方括号事情,例如。用于类似

的操作
(1 + 2) * 3

所以我们以逗号结尾来区分元组

有了列表,这是没有必要的,我们可以简单地对诸如[len(nums)]之类的东西