2024-05-18 21:41:12 发布
网友
我有一个元组列表,可能如下所示:
[(23, 'somestr'), (30, 'someotherstr'), (15, 'someotherstr2')]
我需要提取最小数的元组,并得到该元组的字符串。为了找到最小值,我做了:min([i[0] for i in list])。在
min([i[0] for i in list])
不过,怎么弄到绳子呢?嵌套列表理解?我尝试了几种方法,但是我不确定如何保留元组的索引,或者如何在list comprehension语句中获取它。在
min(your_list)[1] #would be sufficient
在这里,您可以直接比较元组。但是,更一般的方法是将key参数用于^{}:
key
In [21]: min(l, key=operator.itemgetter(0))[1] Out[21]: 'someotherstr2'
在这里,key=operator.itemgetter(0)提取元组的第零个元素,并使用结果作为键来决定哪个元组最小。在
key=operator.itemgetter(0)
元组可以比较:
>>> (1, 'hello') < (2, 'bye') True
元组的比较有点像字符串:考虑元素成对,直到找到不相等的对,然后元素较小的元组被视为更小。在
因此,您只需获得列表的最小值,第一个值最小的元组将被返回。然后可以查看第二个元素中的字符串:
在这里,您可以直接比较元组。但是,更一般的方法是将} :
key
参数用于^{在这里,
key=operator.itemgetter(0)
提取元组的第零个元素,并使用结果作为键来决定哪个元组最小。在元组可以比较:
元组的比较有点像字符串:考虑元素成对,直到找到不相等的对,然后元素较小的元组被视为更小。在
因此,您只需获得列表的最小值,第一个值最小的元组将被返回。然后可以查看第二个元素中的字符串:
^{pr2}$相关问题 更多 >
编程相关推荐