gpt4 book ai didi

python - 如何枚举 Python 中的非字符串对象列表?

转载 作者:太空狗 更新时间:2023-10-30 00:30:48 25 4
gpt4 key购买 nike

enum 中有一个很好的类 Enum,但它只适用于字符串。我目前正在使用:

    for index in range(len(objects)):
# do something with index and objects[index]

我想这不是最佳解决方案,因为过早地使用了 len。如何才能更有效地做到这一点?

最佳答案

这是编写这个循环的 pythonic 方式:

for index, obj in enumerate(objects):
# Use index, obj.

enumerate适用于任何序列,无论其元素的类型如何。这是一个内置函数。

编辑:

在使用 Python 2.5 运行一些 timeit 测试后,我发现 enumerate 稍微慢一些:

>>> timeit.Timer('for i in xrange(len(seq)): x = i + seq[i]', 'seq = range(100)').timeit()
10.322299003601074
>>> timeit.Timer('for i, e in enumerate(seq): x = i + e', 'seq = range(100)').timeit()
11.850601196289062

关于python - 如何枚举 Python 中的非字符串对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/962082/

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