Python 如何查找列表中第二个元素的最小值
我的清单如下:Python 如何查找列表中第二个元素的最小值,python,list,algorithm,Python,List,Algorithm,我的清单如下: a = [ [8, 12], [13, 9], [2, 5], [1, 10], [13, 13] ] 如何找到a[2][1]的5。我想找到子列表第二个元素的最小值 这是我的代码: min = a[0][1] for i in range(len(a)): temp = a[i][1] if temp < min: min = temp min=a[0][1] 对于范围内的i(len(a)): 温度=a[i][1] 如果温度1,则sub[1]用于数据中的
a = [ [8, 12], [13, 9], [2, 5], [1, 10], [13, 13] ]
如何找到a[2][1]
的5
。我想找到子列表第二个元素的最小值
这是我的代码:
min = a[0][1]
for i in range(len(a)):
temp = a[i][1]
if temp < min:
min = temp
min=a[0][1]
对于范围内的i(len(a)):
温度=a[i][1]
如果温度<最小值:
最小值=温度
实现此代码的好方法(代码行数较少)是什么?您可以使用带有参数
键的内置函数min
:
a = [ [8, 12], [13, 9], [2, 5], [1, 10], [13, 13] ]
min(a, key=lambda x: x[1])[1]
输出:
5
您可以将内置函数min
与参数键一起使用
:
a = [ [8, 12], [13, 9], [2, 5], [1, 10], [13, 13] ]
min(a, key=lambda x: x[1])[1]
输出:
5
您可以创建一个生成器,该生成器使用以下命令获取每个子列表的第二个元素:
sub[1] for sub in data
如果不是所有子列表都至少有两个元素,我们可以添加一个筛选条件:
min(sub[1] for sub in data if len(sub) > 1)
min(如果len(sub)>1,则sub[1]用于数据中的sub)
您可以创建一个生成器,该生成器使用以下命令获取每个子列表的第二个元素:
sub[1] for sub in data
如果不是所有子列表都至少有两个元素,我们可以添加一个筛选条件:
min(sub[1] for sub in data if len(sub) > 1)
min(sub[1]用于数据中的sub,如果len(sub)>1)
您可以用另一种方式查看它
- 筛选以仅获取秒元素,以下是一些方法
seconds = [v[1] for v in a]
seconds = map(itemgetter(1), a)
- 把这辆车开过去
min_val = min(seconds)
短路结果
min_val = min(map(itemgetter(1), a))
你可以用另一种方式来看待它
- 筛选以仅获取秒元素,以下是一些方法
seconds = [v[1] for v in a]
seconds = map(itemgetter(1), a)
- 把这辆车开过去
min_val = min(seconds)
短路结果
min_val = min(map(itemgetter(1), a))
关于min(sub[1]表示数据中的sub)
?定义“更好”。只要列表不按第二个元素排序,就没有比在孔列表上迭代更好(更快)的方法。“更好”的可能解释:a)用尽可能少的代码行,b)用尽可能少的字符,c)“最容易”为其他程序员阅读…重复:您只需将max
替换为min
。min(sub[1]表示sub-in-data)
?定义“更好”。只要列表不按第二个元素排序,就没有比在孔列表上迭代更好(更快)的方法。“更好”的可能解释:a)用尽可能少的代码行,b)用尽可能少的字符,c)“最容易”为其他程序员阅读…重复:您只需将max
替换为min
。