[英]How do I find find the index of the greatest integer in a list that contains integers and strings in Python?
[英]How to find the index of a list that contains an int in python
如果我有这个清单清单
myList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
并且我想将myVar设置为等于包含数字5的列表的索引。最后,myVar等于1。我该怎么做? 我是python的新手,因此很高兴获得一个简单的答案。
myList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# loop if 5 in the sub_list, than give the index
myVar = [myList.index(ls) for ls in myList if 5 in ls]
print myVar
# 1
使用for
-loop从中获取子列表myList
,然后检查if 5 in sublist:
这样你找到第一行有5
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
my_var = None
for number, row in enumerate(my_list):
if 5 in row:
my_var = number
break # don't search in other rows
print(my_var)
如果您需要所有带有5
行,则列出结果
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
my_var = [] # list for all results
for number, row in enumerate(my_list):
if 5 in row:
my_var.append( number )
print(my_var)
或一行
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
my_var = [number for number, row in enumerate(my_list) if 5 in row]
print(my_var)
您可以使用enumerate()
创建自定义函数,以获取索引为:
def get_index(my_list, val):
for i, item in enumerate(my_list):
if val in item:
return i
else:
raise ValueError('{} not found in {}'.format(val, my_list))
样品运行:
>>> myList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Valid value
>>> get_index(myList, 5)
1
# Invalid value
>>> get_index(myList, 22)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 6, in get_index
ValueError: 22 not found in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.