从列表中获取相对于python中另一个元素的元素

时间:2019-01-23 07:11:21

标签: python list

我有一个清单。我想通过迭代获得一个元素。我得到的元素是我要寻找的元素之后的2个索引。如何获得想要的元素?

示例代码:

for x in list:
    if "y" == x:
        ## get my element based on above condition

3 个答案:

答案 0 :(得分:1)

list = ["test", "test1", "test2"]


print(list[0])
print(list[0+2])

结果:

test
test2

更多一般而言,您的元素:

list[x]

之后是2个索引的元素:

list[x+2]

编辑:

list.index("y")

为您提供索引,然后如上所述向该数字加2

答案 1 :(得分:1)

您需要记住您要使用哪个列表索引,这样才能前进2。最简单的方法是使用enumerate()函数,该函数会生成(索引,值)对的列表。 / p>

for i, x in enumerate(list):
    if "y" == x:
        print(list[i+2])

注意:list是一个内置函数,因此将其用作变量可能会造成混淆。

答案 2 :(得分:1)

使用以下代码进行exception处理:

a = ["aa", "bb", "cc", "dd"]
print (a[a.index("bb") + 2])  # find element is "bb" in list "a" and return the +2 index value

# result: dd

具有异常处理和多个现有值的已编辑代码:

aa = ["aa", "bb", "cc", "aa", "ee", "bb"]

j = []
for i, v in enumerate(aa):
    if v == "aa":
        if aa[i+2:]:
            j.append(aa[i +2 ])

print (j)