小编Joh*_*aft的帖子

如何仅对二维列表的第一列使用 min()

我有一个二维列表,其中每个条目都有一个时间戳(int)和第二个值,可以是 int、字符串或对象。

我使用 min() 函数来获取具有最低时间戳的条目:

a = [[2, "start C"],
     [6, 2484],
     [15, "finish C"]]

print(min(a))
Run Code Online (Sandbox Code Playgroud)

输出:

[2, 'start C']
Run Code Online (Sandbox Code Playgroud)

当存在相同的最低时间戳时, min() 将比较这些项目的第二列。

仅当第二列具有可比值时,此操作才有效:

[2, 'start C']
Run Code Online (Sandbox Code Playgroud)

输出:

[2, 'start B']
Run Code Online (Sandbox Code Playgroud)

如果第二列包含不同的数据类型,则会引发错误:

a = [[2, "start C"],
     [2, "start B"],
     [15, "finish C"]]

print(min(a))
Run Code Online (Sandbox Code Playgroud)

输出:

TypeError: '<' not supported between instances of 'int' and 'str'
Run Code Online (Sandbox Code Playgroud)

如何只检查第一列的最小值?当存在相同的时间戳时,它应该简单地返回遇到的第一个项目。

python max min

2
推荐指数
1
解决办法
1159
查看次数

标签 统计

max ×1

min ×1

python ×1