Python 如何计算一个元素在列表中的位置?
如果我有一个整数列表,并且我想返回空格的数量,最大数量是从列表的开头开始的,如果给定一个列表list1,我该怎么做?我应该能够返回整数“7”,因为512是最大值,距离7个空格Python 如何计算一个元素在列表中的位置?,python,list,python-2.7,max,counting,Python,List,Python 2.7,Max,Counting,如果我有一个整数列表,并且我想返回空格的数量,最大数量是从列表的开头开始的,如果给定一个列表list1,我该怎么做?我应该能够返回整数“7”,因为512是最大值,距离7个空格 list1=[34,5,1,7,5,3,8,512,8,43] 使用内置函数和 这可以在一行中完成,如下所示 print(list1.index(max(list1))) 使用内置函数和 这可以在一行中完成,如下所示 print(list1.index(max(list1))) 最简单的方法: list1.index
list1=[34,5,1,7,5,3,8,512,8,43]
使用内置函数和
这可以在一行中完成,如下所示
print(list1.index(max(list1)))
使用内置函数和
这可以在一行中完成,如下所示
print(list1.index(max(list1)))
最简单的方法:
list1.index(max(list1))
最简单的方法:
list1.index(max(list1))
另一种方法是使用enumerate,这将避免在列表上重复两次:
>>> index, element = max(enumerate(list1), key=lambda x: x[1])
>>> index
7
>>> element
512
另一种方法是使用enumerate,这将避免在列表上重复两次:
>>> index, element = max(enumerate(list1), key=lambda x: x[1])
>>> index
7
>>> element
512
我更喜欢避免重复列表两次的方法
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> index, element = max(enumerate(list1), key=lambda x: x[1])
>>> index
7
另一种不重复列表两次的有效方法如下: Python 2:
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> max(xrange(len(list1)), key=list1.__getitem__)
7
在Python 3上:
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> max(range(len(list1)), key=list1.__getitem__)
7
我更喜欢避免重复列表两次的方法
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> index, element = max(enumerate(list1), key=lambda x: x[1])
>>> index
7
另一种不重复列表两次的有效方法如下: Python 2:
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> max(xrange(len(list1)), key=list1.__getitem__)
7
在Python 3上:
>>> list1=[34,5,1,7,5,3,8,512,8,43]
>>> max(range(len(list1)), key=list1.__getitem__)
7
如果您的列表中有多个最大项,例如
list1=[34,5,1,7,5,3,8512,8,43512]
,该怎么办?您是否仍然满意7
作为答案?如果您的列表中有多个最大项,例如list1=[34,5,1,7,5,3,8512,8,43512]
,该怎么办?您是否仍然满意7
作为答案?@TomZych实际上不是hack@TomZych实际上不是黑客