python之常用内置函数(zip和sum)

python内置了一系列的常用函数,以便于我们使用,这里会讲到zip()函数和sum()函数

zip()函数
zip(iter1,iter2,...)

功能:打包,将多个可迭代对象中对应位置的元素进行打包,打包成一个个元组,然后返回由这些元组组成的zip对象,以迭代器的方式返回

如果各个可迭代对象的元素个数不一致,则返回的对象长度取决于最短的那个

from collections import Iterator

list1 = [1,2,3,4,5]
list2 = ["good","nice","great","clever"]
list3 = ["red","yellow","green"]
zipobj = zip(list1,list2,list3)
print(isinstance(zipobj,Iterator))
print(list(zipobj))

运行结果如下:

True
[(1, 'good', 'red'), (2, 'nice', 'yellow'), (3, 'great', 'green')]

注意:Python2中直接返回一个由元组组成的列表,Python3中返回的是一个对象,如果想要得到列表,可以用 list() 函数进行转换

zip()函数既然能进行打包,那也能解包,如下:

zip(*zipobj)

解包,将之前打包的元素进行解包处理,以迭代器方式返回

from collections import Iterator

list1 = [1,2,3,4,5]
list2 = ["good","nice","great","clever"]
list3 = ["red","yellow","green"]
zipobj = zip(list1,list2,list3)
obj = zip(*zipobj)
print(isinstance(obj,Iterator))
print(list(obj))

运行结果如下:

True
[(1, 2, 3), ('good', 'nice', 'great'), ('red', 'yellow', 'green')]

需求:使用zip函数实现:dict1 = {1:“hello”,2:“good”,3:“nice”}=> dict2 = {“hello”:1,“good”:2,“nice”:3}

dict1 = {1: "hello", 2: "good", 3: "nice"}
print(dict(zip(dict1.values(),dict1.keys())))
sum()函数
sum(iter)
iter:可迭代对象,元素必须是number类型

返回可迭代对象相加的结果

list1 = [1,2,3,41,23,1,2,13,4,4,12,123]
print(sum(list1))
#229

猜你喜欢

转载自blog.csdn.net/TaoismHuang/article/details/93646729