我很好奇为什么可以在len(list)的末尾添加逗号来引用列表中的最后一项。谁能解释一下? 它仅在列表中起作用吗?列表中的其他项目如何?我也可以使用 len(list)进行访问吗?
list=[10,20,30,40,50,60]
for num in len(list),:
print(num,end=" ")
输出数字为6。
答案 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)]
之类的东西