如何在Python列表中找到最大的整数?

如何在Python列表中找到最大的整数?,python,max,Python,Max,如果一个列表有正整数和负整数,我如何才能找到列表中具有最大值的项的值?如果您指的是最高值,而不考虑正负号,那么您将取每个组成列表值的绝对值所产生的列表的最大值。这有意义吗 Here is an example: numbers = [3, 5, 7, -18] matrix=[] for x in numbers: matrix.append(abs(x)) max(matrix) 回答晚了,但另一个答案和链接的重复问题似乎遗漏了你问题的一个重要方面,即你想要的是最大量级的值,而不是

如果一个列表有正整数和负整数,我如何才能找到列表中具有最大值的项的值?

如果您指的是最高值,而不考虑正负号,那么您将取每个组成列表值的绝对值所产生的列表的最大值。这有意义吗

Here is an example:
numbers = [3, 5, 7, -18]

matrix=[]
for x in numbers:
    matrix.append(abs(x))
max(matrix)

回答晚了,但另一个答案和链接的重复问题似乎遗漏了你问题的一个重要方面,即你想要的是最大量级的值,而不是绝对值。换句话说,在类似[-10,0,5]的列表中,您希望结果为-10,而不是10

要获取带有原始符号的值,您可以在概念上遵循以下步骤:

获取列表副本,其中所有值都已转换为绝对值 查找具有最大绝对值的值的索引 返回该索引处的值 在numpy中,使用argmax可以非常轻松地完成这项工作,argmax从数组返回最大值的索引。一步一步地,它看起来是这样的:

# Create a numpy array from the list you're searching:
xs = np.array([-10, 0, 5])

# Get an array where each value is converted to its absolute value:
xs_abs = np.abs(xs) 
# This gives [10, 0, 5]

# Get the index of the highest absolute value:
max_index = np.argmax(xs_abs) 
# This gives 0

# Get the number from the original array at the max index:
x = xs[max_index] 
# This gives -10
这可以在一行中完成,如下所示:

x = xs[np.argmax(np.abs(xs))]

这将找到列表中的最大值,然后将其转换为正值。用于规范化
absmaxxs,key=abs

maxmappabs,Listmaxvalues,key=abs通过使用生成器理解,可以更简洁地完成此操作的可能副本:maxabsn表示n个数字。或者更好地使用key关键字max:maxnumbers,key=abs这可能是解决此问题最低效的方法。