min()
函数返回可迭代对象中最小的元素,或者返回两个及以上实参中最小的。有多个最小元素时,只返回第一个找到的
格式及参数
1 2
| min(iterable, *[, key, default]) min(arg1, arg2, *args[, key])
|
iterable
:可迭代对象,每个元素需同类型。可以是str、list、dict、tuple、set
key
:可选参数,指定排序函数用的参数,3.8版可以为 None
default
:可选参数,当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default
,则会触发 ValueError
参考资料
实例(3.8.8)
排序规则按 ASCII码 进行比较
不同实参例子
只传入 iterable ,这是最常用的一种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| str_1 = '123' str_2 = 'ABC' list_ = ['aa', 'ac', 'b']
print(min(str_1)) print(min(str_2)) print(min(str_1, str_2)) print(min(list_))
'''输出 1 A 123 aa '''
|
只传入 iterable 和 default
1 2 3 4 5 6 7 8 9 10
| str_1 = '123' str_2 = '' print(min(str_1, default=None)) print(min(str_2, default=None))
'''输出 1 None '''
|
只传入 iterable 和 key
1 2 3 4 5 6 7 8 9 10
| str_1 = 'python min'
print(min(str_1, key=None)) print(min(str_1.split(), key=len))
'''输出 min '''
|
传入 iterable 、 key 及 default
1 2 3 4 5 6 7
| str_1 = '' print(min(str_1.split(), key=len, default=None))
'''输出 None '''
|
其他例子
列表嵌套元组
1 2 3 4 5 6 7 8 9 10 11 12
| list_1 = [(1, 2, 3), (2, 2, 3), (1, 1, 3)] list_2 = [(2, 2, 4), (2, 1, 4), (2, 1, 5)]
print(min(list_1)) print(min(list_2))
'''输出 (1, 1, 3) (2, 1, 4) '''
|
列表嵌套字典
1 2 3 4 5 6 7 8 9 10 11 12
| list_1 = [ {'a': 1314}, {'a': 520} ]
a = min(list_1, key=lambda x: x['a']) print(a)
'''输出 {'a': 520} '''
|
返回字典值最小的键
1 2 3 4 5 6 7 8 9 10 11 12
| dict_1 = { 'a': 1314, 'b': 520 }
a = min(dict_1, key=lambda x: dict_1[x]) print(a)
'''输出 b '''
|