如果我有1和2的列表,我怎样才能找到1和2的第一个索引。
例如[1,1,1]
应输出(0,-1)
,其中-1表示不在列表中,[1,2,1]
应输出(0,1)
,[1,1,1,2]
应输出{{1} }}
答案 0 :(得分:9)
一种方法是为项目创建单独的列表index
并使用index
函数并使用list comprehension
(还会进行额外检查以确保项目列在其他 ValueError
将会出现):
my_list = [1,1,1]
items = [1,2]
print ([my_list.index(item) if item in my_list else -1 for item in items])
输出:
[0, -1]
如果需要元组,则可以使用tuple
函数将上面的列表转换为元组:
tuple([my_list.index(item) if item in my_list else -1 for item in items])
不使用list comprehension
的方式更长:
my_list = [1,1,1]
items = [1,2]
# create empty list to store indices
indices = []
# iterate over each element of items to check index for
for item in items:
# if item is in list get index and add to indices list
if item in my_list:
item_index = my_list.index(item)
indices.append(item_index)
# else item is not present in list then -1
else:
indices.append(-1)
print(indices)