如何拥有Python列表的动态索引

如何拥有Python列表的动态索引,python,Python,我正在寻找一种在Python中使用条件动态列表索引的解决方案 我当前的方法是抽象的,如果Foo==Bar,则索引不会增加1: 注意:由于我的代码逻辑,目前没有使这两个参数都变为变量的选项,否则我可以在索引部分之前设置逻辑,只使用结果变量作为列表索引,您的代码在逻辑上是正确的,除了: 您将列表命名为list,从而污染了名称空间。请不要将您的列表命名为列表。我已将其重命名为items。 在使用变量foo和bar之前,必须先定义它们。 虽然这不是导致错误的原因,但作为变量命名约定:变量名称应以小写字母

我正在寻找一种在Python中使用条件动态列表索引的解决方案

我当前的方法是抽象的,如果Foo==Bar,则索引不会增加1:


注意:由于我的代码逻辑,目前没有使这两个参数都变为变量的选项,否则我可以在索引部分之前设置逻辑,只使用结果变量作为列表索引,您的代码在逻辑上是正确的,除了:

您将列表命名为list,从而污染了名称空间。请不要将您的列表命名为列表。我已将其重命名为items。 在使用变量foo和bar之前,必须先定义它们。 虽然这不是导致错误的原因,但作为变量命名约定:变量名称应以小写字母书写,并用下划线分隔。 但正如@Booboo提到的,0是加法标识,您可以简单地使用item=items[shift]。 我的建议 说了这么多,如果我是你,我会这么做:

项目=项目[1如果foo==bar,则为0] 对代码的更正 已重命名为项目的列表 项目=[ "itemShiftZero",, “项目shiftone” ] 定义foo和bar foo=bar=True 如果选择Basic,则有条件地定义移位 如果foo==bar: 移位=1 其他: 移位=0 将逻辑传输到列表索引 item=已重命名为items的items[0+shift]列表 打印项 输出:


你们所命名的列表和所考虑的dic既不是列表也不是字典,它是一个集合。我不清楚你到底在问什么。对不起,是什么意思?你发布的代码有什么问题?0是附加标识。将其添加到任何内容中有什么意义?如果是这样,请删除此帖子。
# Considered list

list = [
     'itemShiftZero',
     'itemShiftOne'
]


# Basic if-else to define the shift conditionally

if Foo == Bar:
    shift = 1
else:
    shift = 0


# Transfer logic to the list index

item = list[0 + shift]
itemShiftOne