Python内置函数 - enumerate, range, max, len

发布时间 2023-09-06 22:46:36作者: yanghui01

1, enumerate(可迭代对象, index_base)

from collections.abc import Iterator

my_list = ["aa", "b", "c"]
result = enumerate(my_list) # 迭代器: 每次返回一个元组, tuple(index, value)
print(type(result)) # <class 'enumerate'>
print(isinstance(result, Iterator)) # True

 

遍历1:for后面跟1个变量

for i in result:
    print(type(i), i)

运行结果:

<class 'tuple'> (0, 'aa')
<class 'tuple'> (1, 'b')
<class 'tuple'> (2, 'c')

 

遍历2:for后面跟多个变量

for i, v in result:
    print(type(i), i, type(v), v)

运行结果:

<class 'int'> 0 <class 'str'> aa
<class 'int'> 1 <class 'str'> b
<class 'int'> 2 <class 'str'> c

 

from collections.abc import Iterator

my_list = ["aa", "b", "c"]
index_base = 123
result = enumerate(my_list, index_base) # 迭代器: 每次返回一个元组, tuple(index, value)
print(type(result)) # <class 'enumerate'>
print(isinstance(result, Iterator)) # True

for i, v in result:
    print(type(i), i, type(v), v)

运行结果:

<class 'int'> 123 <class 'str'> aa
<class 'int'> 124 <class 'str'> b
<class 'int'> 125 <class 'str'> c

 

2, range(stop)

range(start, stop, step)

from collections.abc import Iterable, Iterator

result = range(3)
print(type(result)) # <class 'range'>, 每次返回一个整数
print(isinstance(result, Iterable)) # True
print(isinstance(result, Iterator)) # False

for item in result:
    print(type(item), item)

运行结果:

<class 'int'> 0
<class 'int'> 1
<class 'int'> 2

 

from collections.abc import Iterable, Iterator

result = range(5, 3, -1)
print(type(result)) # <class 'range'>, 每次返回一个整数
print(isinstance(result, Iterable)) # True
print(isinstance(result, Iterator)) # False

for item in result:
    print(type(item), item)

运行结果:

<class 'int'> 5
<class 'int'> 4

 

3, max

用于list

my_list = ["aa", "b", "c"]
print(max(my_list)) # c
print(max(my_list, key=lambda x: len(x))) # aa

用于dict

my_dict = {"aa":1, "b":2, "c":3}
print(max(my_dict)) # c
print(max(my_dict, key=lambda x:len(x))) # aa

用于tuple

my_tuple = ("aa", "b", "c")
print(max(my_tuple)) # c
print(max(my_tuple, key=lambda x:len(x))) # aa

 

4, len 

用于list

my_list = ["aa", "b", "c"]
print(len(my_list)) # 3

用于dict

my_dict = {"aa":1, "b":2, "c":3}
print(len(my_dict)) # 3

用于set

my_set = ("aa", "b", "c")
print(len(my_set)) # 3

用于tuple

my_tuple = ("aa", "b", "c")
print(len(my_tuple)) # 3

用于str

my_str = "ab"
print(len(my_str)) # 2

 

 

参考

Python 中的枚举函数 enumerate() 详解 (baidu.com)

Python3 range() 函数用法 | 菜鸟教程 (runoob.com)