gpt4 book ai didi

Python 枚举 - 我看不到什么?

转载 作者:行者123 更新时间:2023-11-28 22:37:03 25 4
gpt4 key购买 nike

谁能解释一下这里发生了什么,因为我很困惑

我有一个模块范围的列表变量,其中包含具有字段的元素 - mylist 具有“n”个条目,每个字段 1、字段 2..fieldx

我想在一个过程中访问它们,所以有(带有一些跟踪/调试语句)

print mylist [1].dataFieldCheckType

for lIndex, lField in enumerate(mylist, start = 1):

print lField.dataFieldCheckType

第一个 print 语句给出了值 -4(这是正确的),第二个在一个简单的单语句步骤中给出了不同的值 0。在我看来,lField 被创建为具有默认值的新元素,但我不知道也不明白为什么。为什么第二个打印语句给出的值与第一个不同?

我做错了什么?或者,可能更恰本地说,我不明白什么?

我在另一个论坛上问过这个问题,但没有人提出合理的解释。

最佳答案

enumerate() , start 没有指定迭代的起始索引。它指定计数的起始值。 enumerate() 遍历整个可迭代对象,从第一个(索引 0)到最后一个元素,与 start 参数无关。

循环中的第一个 print 语句打印 mylist[0].dataFieldCheckType,正如它应该的那样。您只是希望它是 mylist[1].dataFieldCheckType

如果您想从第二个(索引 1)开始获取列表的所有元素,只需将其切片:

mylist[1:]

如果您真的也需要索引,请将切片与 enumerate() 结合起来:

enumerate(mylist[1:], start=1)

关于Python 枚举 - 我看不到什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36969716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com