我有一个清单。我想通过迭代获得一个元素。我得到的元素是我要寻找的元素之后的2个索引。如何获得想要的元素?
示例代码:
for x in list:
if "y" == x:
## get my element based on above condition
答案 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)