python - 从变量索引开始循环遍历列表

标签 python

是否有一种单行代码可以替代此代码中的 try 和 except?

在列表中查找变量然后返回下一个索引,如果索引超出范围则返回第一个。

def cycle_my_list(my_var):
    my_list = ['cleaner', 'list', 'cycle']
    try:
        return my_list[my_list.index(my_var) + 1]
    except IndexError:
        return my_list[0]

预期结果:

>>> cycle_my_list('list')
'cycle'
>>> cycle_my_list('cycle')
'cleaner'

最佳答案

使用模 % 运算符

my_list = ['cleaner', 'list', 'cycle']
return my_list[(my_list.index(my_var) + 1) % len(my_list)]

关于python - 从变量索引开始循环遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925806/

相关文章:

Python 2.7 - 为大文件下载输出命令行百分比条时遇到问题(我想要像 : 0%. ..25%...50%...75%...100% 这样的输出)?

python - 来自 edX MIT 类(class)的介绍性 Python 任务

python - PickledObjectField (django-picklefield) 的使用示例?

Python 展平列表(但不是所有的方式)

python - 如何在 Python 中用 numpy 数组列替换数据框列?

python - pymysql.err.内部错误 : Packet sequence number wrong - got 45 expected 0

python - Django : how to use multiple databases?

python - 如何将原始指针传递给 Boost.Python?

python - Pandas :合并(内部连接)数据框的行数比原来的多

python - Julia 中的 "colptr"及其在 Python 中的对应项是什么?