常用内置函数

1.map() 映射

l = [1,2,3,4]
map(lambda x:x+1,l)  # 循环获取列表中每个元素并传递给匿名函数保存返回值
print(list(res)) # [2, 3, 4, 5]
'''map需要传入一个函数,一个可迭代对象两个参数'''

2.zip() 拉链

"""
zip函数能将传入的可迭代对象按照索引绑定在一起形成一个迭代器
迭代器元素取决于传入的最短可迭代对象
"""
l = [11, 22, 33, 44]
name_list = ['jason', 'kevin', 'tony', 'jerry']
new_list = []
for i in range(len(l)):
    new_list.append((l[i], name_list[i]))
print(new_list)
# [(11, 'jason'), (22, 'kevin'), (33, 'tony'), (44, 'jerry')]

l = [11, 22, 33, 44, 55, 66, 77]
name_list = ['jason', 'kevin', 'tony', 'jerry']
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = [8, 7, 6, 4, 3, 2, 1]
res = zip(l, name_list, l1, l2)
print(list(res))
# [(11, 'jason', 1, 8), (22, 'kevin', 2, 7), (33, 'tony', 3, 6), (44, 'jerry', 4, 4)]

3.max与min

max求最大值 min求最小值
'''
max、min将传入的可迭代对象的元素取出来一个个比较
且还可以闯入参数key
'''

# l = [11, 22, 33, 44, 55, 66, 77]
# print(max(l)) # 77
# print(min(l)) # 11

d = {
    'jason':3000,
    'Bevin':1000000,
    'Ascar':10000000000,
    'aerry':88888
}
# def index(key):
#     return d[key]
# print(max(d,key=lambda key:d[key]))  # for循环先取值 之后再比较大小
"""
A-Z  65-90
a-z  97-122
"""
# print(min(d,key=lambda key:d[key]))  # jason

4.filter 过滤

'''filter 将参数一个个传入函数,保留结果为True的'''
l = [11, 22, 33, 44, 55]
res = filter(lambda x: x > 30, l)
print(list(res))  # [33, 44, 55]

5.reduce 归总

'''
reduce 
    1.将序列d里面的元素依次取出传入函数中
    2.函数的返回值保留下来作为参数下次传入,直到序列d的元素取完
    3.返回最终结果,并且可以指定最初值
'''

from functools import reduce
d = [11, 22, 33, 44, 55, 66, 77, 88, 99]
res = reduce(lambda x, y: x + y, d)
res1 = reduce(lambda x, y: x + y, d, 100)  # 还可以额外添加元素值
print(res) # 495
print(res1) # 595
上一篇:ALGO-973 唯一的* 蓝桥杯题解


下一篇:Linux 下安装 Tomcat