在 Python 的元组列表中查找最小值和最大值
Python 要在元组列表中查找最小值和最大值:
- 使用
min()
和max()
函数。 - 将 key 参数传递给函数。
- 选择要比较的元组中的元素。
my_list = [(100, 1), (100, 2), (100, 3)]
# ✅ get min tuple in list of tuples
min_tuple = min(my_list, key=lambda tup: tup[1])
print(min_tuple) # 👉️ (100, 1)
# ------------------------------------------------------
# ✅ get max tuple in list of tuples
max_tuple = max(my_list, key=lambda tup: tup[1])
print(max_tuple) # 👉️ (100, 3)
min
函数返回可迭代对象中的最小项或两个或多个参数中最小的一个。max
函数返回可迭代对象中的最大项或两个或多个参数中最大的一个。
这些函数采用可选的默认关键字参数,用于指定在提供的可迭代对象为空时返回的值。
result = max((), default=0)
print(result) # 👉️ 0
如果可迭代对象为空且未提供默认关键字参数,则函数会引发 ValueError
。
key
参数指定一个单参数排序函数,如用于list.sort()
的函数。
my_list = [(100, 1), (100, 2), (100, 3)]
min_tuple = min(my_list, key=lambda tup: tup[1])
print(min_tuple) # 👉️ (100, 1)
我们选择索引 1 处的元组项来比较元组中的第二项。
我们还可以使用 key
参数根据不同的条件获取元组列表中的最小值和最大值。
my_list = [(100, 'a'), (100, 'ab'), (100, 'abc')]
# ✅ get value with min length in list of tuples
min_tuple = min(my_list, key=lambda tup: len(tup[1]))
print(min_tuple) # 👉️ (100, 'a')
# ------------------------------------------------------
# ✅ get value with max length in list of tuples
max_tuple = max(my_list, key=lambda tup: len(tup[1]))
print(max_tuple) # 👉️ (100, 'abc')
我们将每个元组中的第二项传递给 len()
函数以获取字符串的长度。
我们为 key 参数提供的函数可用于根据不同的条件获取最小值和最大值。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。