map filter reduce
admin
2023-07-20 18:01:48
0次
# map
# map  : what why how
# http://devdocs.io/python~3.6/library/functions#map  官方文档
# 返回一个迭代器,该迭代器将函数应用到可迭代的每一项,从而产生结果
# 不用for循环,就能将序列中的数据一一映射到给定的处理函数,快速对一个序列的数据进行各种操作
# 是代码更简单
map?
"""Init signature: map(self, /, *args, **kwargs)
Docstring:     
map(func, *iterables) --> map object
函数用--------------------> 返回的map对象
"""
num = [1,3,5,7,9]
# for 循环
new_num = []
for i in num:
    y = i + 1
    new_num.append(y)
print(new_num)
[2, 4, 6, 8, 10]
# map
def add(x):
    return(x+1)

map(add, num)
list(map(add, num))
[2, 4, 6, 8, 10]
# 字符串处理
str_list = ['lilei', 'coop', 'hanmei']

def change(s:str):
    return s.capitalize()

list(map(change, str_list))
['Lilei', 'Coop', 'Hanmei']
# filter
# 从可迭代的元素中构造一个迭代器,函数返回true,iterable可以是一个序列,一个支持迭代的容器
# 或者一个迭代器,如果函数为None,则假定表示函数为false,即false的所有元素都被删除
# 不用for循环,就能将序列中数据一一映射到给定的处理函数,函数中添加了真假判断,True则返回
# 相应的数据,最终得到筛选后的序列,使得代码更简单
my_list = [11,22,33,44,55,343,66,77]
new_list = []
for i in my_list:
    if 20 < i < 60:
        new_list.append(i)
print(new_list)
[22, 33, 44, 55]
# filter   首先是构造一个过滤田间的函数,然后才能使用filter
def choose(x):
    if 20 < x < 50:
        return True

def choose1(y):
    return 20< y < 50

filter(choose, my_list)
list(filter(choose, my_list))
[22, 33, 44]
# 字符串处理
str_list = ['lilei','coop','coop2','hanmemei','china']

import re

def coop(s:str):
    return re.search('coop', s)
filter(coop, str_list)
list(filter(coop, str_list))
['coop', 'coop2']
# reduce  处理数字列表的连乘, 累加
# 将两个
from functools import reduce
num = [1,3,5,7,9]

sum = 0
for i in num:
    sum += i
print(sum)
25
sum = 1
for i in num:
    sum *= i
print(sum)
945
# 定义函数
def sum(x, y):
    return x + y
def cheng(x, y):
    return x * y
reduce(sum, num)
25
reduce(cheng, num)
945

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...