返回列表列表中最小值的索引

大家好, 是否有一个简单的python函数来返回列表索引 列表列表中的最低条目? 即[[3,3,3,3],[3,3,3,1],[3,3,3,3]返回2,4. 或者,相同的问题,但仅适用于数字列表,而不是列表列表. 谢谢, josh

# 回答1

在您的示例中,您返回了2、4.您的意思是1、3吗? myList [1] [3]是您在列表列表中访问" 1"的方式. 我认为此任务不会具有内置功能,但是您可以 在不到4行的代码中编写一个.
# 回答2

Le Mercredi 21 Juin 2006 16:54,jjthyde*****@gmail.com aécrit*: 在[7]中:最小([3,3,1,3]) 出去[7]:1 在[8]中:e在[[3,3],[3,3,1,3],[3,3,3,3]]中的e(min(e))中 出去[8]:1 问候, - - _____________ Maric Michaud _____________ Aristote -www.aristote.info 3 Place Des Tapis 69004里昂 电话:+33 426 880 097
# 回答3

做到这一点的一种方法是生成(值,索引in-main-list, index in cecardary-list)元组,然后将最小值提取. def f(l): '''列表列表中的第一个最小值的返回索引.''' 返回最小( (n,i,j) 对于我,枚举(l)中的l2 对于J,n中的n(l2) )[1:] l = [[3,3,3,3],[3,3,3,1],[3,3,3,3]] 打印f(l)#打印(1,3) 注意:在Python(和大多数其他语言)索引开始时为0,所以您 返回值(2,4)是不正确的. 对于数字列表,这更简单. l = [3,3,3,1,3,3] 打印最小((n,i)为i,n中的n 希望这可以帮助 〜西蒙
# 回答4

" Maric Michaud" 在消息中写道 新闻:MA **************************************************************************************************************** Le Mercredi 21 Juin 2006 16:54,jjthyde*****@gmail.com aécrit: 在[7]中:最小([3,3,1,3]) 出去[7]:1 在[8]中:e在[[3,3],[3,3,1,3],[3,3,3,3]]中的e(min(e))中 出去[8]:1 问候, 再次阅读原始发布. OP不需要最小 *值 *, 但是最小值的 *索引 *. - 保罗 data = [[3,3,3,3],[3,3,3,1],[3,3,3,3]] def getMinAndIndex(LST): minval,minidx = lst [0],0 对于i,v在枚举中(lst [1:]): 如果v
# 回答5

非常感谢你的帮助. 我想知道是否有什么 更简单,但这会很棒. fothydeyde the for fo the: 最低限度. def f(l):'''列表列表中的第一个最小值的返回索引. (l2))[1:] l = [[3,3,3,3],[3,3,3,1],[3,3,3,3]] print f(l)#prints(1 ,3)注意:在Python(和大多数其他语言)中,索引从0开始,所以 我们的返回值(2,4)是不正确的. 对于数字列表,这更简单. l = [3,3,3,1,3,3]打印最小((n,i)为i,n in枚举(l))[1]#打印3希望这对〜Simon
# 回答6

JJ有帮助 ********@gmail.com写道: 在Python 2.5中: Python 2.5A2(后备箱:46491M,2006年5月27日,14:43:55)[MSC V.1310 32 BIT (英特尔)]在Win32上 键入"帮助","版权","学分"或"许可"以获取更多信息. (1,3) 史蒂夫
# 回答7

DEF MinIndexFinder(SEQ): mins = [] ListIndex = 0 结果= [] 对于SEQ中的项目: mins.append([[ListIndex,min(item),item.Index(min(item))]) ListIndex += 1 最低=最小([x [x [1],x为mins]) 对于分钟内的项目: 如果项目[1] ==最低: result.append([[item [0],item [2]]) 返回结果 有点冗长,但也许更可读性? 我可能应该像保罗一样使用枚举. 对于 *第一个 *(或唯一)最小值的索引 在数字列表中,您可以使用: seq.index(min(seq))
# 回答8

fothydeby@gmail.com写道:做到这一点的一种方法是生成(value,index in index-main-in-main-list, index in cecardary-list)元组,然后将最小值提取. def f(l):'''列表列表中的第一个最小值的返回索引. (l2))[1:] l = [[3,3,3,3],[3,3,3,1],[3,3,3,3]] print f(l)#prints(1 ,3) 我认为这可能是最好的解决方案. 可能没关系, 但是可能值得注意的是,如果您的最低价值超过一个, 这将返回最低索引(指数为 在词典上订购):: ....因为我,l2 in ....对于枚举(l2))[1:] (0,2) 史蒂夫
# 回答9

(数组([1]),阵列([3])) 对于您的简单问题可能过度杀伤,但这是一个不错的问题 如果您做很多矩阵工作,请替代. bas
# 回答10

这种方式可能很慢(列表的两次扫描L1,甚至更多 适用于L2),但对于小列表,它可能很简单 经过考虑的: 对于简单列表: Trackback(最近的最新电话): 文件" ",第1行,IN? valueerror:min()arg是一个空序列 再见, bearophile
# 回答11

未经测试: 项目= [] 对于x,a列举(l): 对于y,b在枚举中(a): items.append((b,(x,y))) x,y = min(项目)[1] 您也可以将其更改为发电机: def f(l): 对于x,a列举(l): 对于y,b在ebumerate(a)中: 产量B,(x,y) x,y = min(f(l))[1]

标签: python

添加新评论