如果我有一个1和2的列表,我怎么能找到1和2的第一个索引.
例如[1,1,1]
应输出(0,-1)
,其中-1表示未在列表中,[1,2,1]
应该输出(0,1)
,[1,1,1,2]
应该输出(0,3)
.
一种方法是为要查找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])
Run Code Online (Sandbox Code Playgroud)
输出:
[0, -1]
Run Code Online (Sandbox Code Playgroud)
如果需要元组,则可以使用以下tuple
函数将上面的列表转换为元组:
tuple([my_list.index(item) if item in my_list else -1 for item in items])
Run Code Online (Sandbox Code Playgroud)
在更长的路上不使用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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1678 次 |
最近记录: |