python内置函数(六)

186 阅读2分钟

1 len()函数

用于查看序列对象的长度

lst = [1, 2, 3, 4]
print(len(lst))

result:

4

2 enumerate()函数

用于序列的枚举生成

2.1 基本用法

2.1.1 迭代对象为列表时

此时可以同时对索引和值进行迭代

lst = [1, 2, 3, 4]
print(list(enumerate(lst)))

result:

[(0, 1), (1, 2), (2, 3), (3, 4)]

2.1.2 迭代对象为元组时

此时可以同时对索引和值进行迭代

lst = (1, 2, 3, 4)
print(list(enumerate(lst)))

result:

[(0, 1), (1, 2), (2, 3), (3, 4)]

2.1.3 迭代对象为集合时

此时可以同时对索引和值进行迭代

lst = {1, 2, 3, 4}
print(list(enumerate(lst)))

result:

[(0, 1), (1, 2), (2, 3), (3, 4)]

2.1.4 迭代对象为字符串时

此时可以同时对索引和值进行迭代

lst = '1234'
print(list(enumerate(lst)))

result:

[(0, '1'), (1, '2'), (2, '3'), (3, '4')][(0, 1), (1, 2), (2, 3), (3, 4)]

2.1.5 迭代对象为字典时

在字典上使用enumerate()函数时获得是索引和其键的迭代。

dict1 = {"a": "A", "b": "B"}
print(list(enumerate(dict1)))

result:

[(0, 'a'), (1, 'b')]

2.2 指定起始索引值

lst = [1, 2, 3, 4]
print(list(enumerate(lst, 2)))

result:

[(2, 1), (3, 2), (4, 3), (5, 4)]

3 zip()函数

对指定的一个或多个成员进行合并操作

lst = [1, 2, 3, 4]
reason = ['spring', 'summer', 'autumn', 'winter']
print(list(zip(lst, reason)))

result:

[(1, 'spring'), (2, 'summer'), (3, 'autumn'), (4, 'winter')]

这里要注意,zip()函数迭代是由指定顺序的,就这里的例子来说,只会出现lst中的第1个元素和reason中的第1个元素搭配,lst中的第2个元素和reason中的第2个元素搭配,而不会出现lst中的第2个元素和reason中的第3个元素搭配这种形式。

另外,zip()迭代的多个成员长度不一致时,按照最短的成员来进行迭代,多余的元素会被丢弃。这里举例如下:

lst = [1, 2, 3, 4]
reason = ['spring', 'summer', 'autumn', 'winter']
letters = ['a', 'b']
print(list(zip(lst, reason, letters)))

result:

[(1, 'spring', 'a'), (2, 'summer', 'b')]