写一个prod()函数,可以接受一个list并利用reduce()求积

简介: 写一个prod()函数,可以接受一个list并利用reduce()求积

这里是三岁,今天的作业解析来啦,快来康康吧!


题目一



写一个prod()函数,可以接受一个list并利用reduce()求积


思路


一看题目自定义函数 ,得到的结果是求积,而且要用高阶函数reduce() 那么怎么办呢先上代码!


#导入库
from functools import reduce
# 写一个prod()函数,可以接受一个list并利用reduce()求积
def prod(list):# 声明自定义函数prod()
    def quadrature(x, y): # 设计自定义函数quadrature
        return x*y # 返回乘积
    return reduce(quadrature, list) 
# 测试
list = [1,2,3,4,5]
print(prod(list))
结果
120


那么原理是声明呢?


'''
参数1 参数2 积
1     2  = 2
2     3  = 6
6     4  = 24 
24    5  = 120
'''


20200604092339885.png


具体的方法见:高阶函数


简化写法


可以使用匿名函数

# 匿名函数
def prod(list):
    return reduce(lambda x ,y : x*y , list)
list = [1,2,3,4,5]
print(prod(list))



题目二



#[’’, 'abc@qq.com ‘, ‘’, ’ cb a@163.com’, ‘ech@hotmail.com ‘, ‘’]

#编写一个程序去除邮件地址里的空格,去除空邮件地址,最后拼接成用分号隔开的字符串形式

aa = [’’, 'abc@qq.com ‘, ‘’, ’ cba@163.com’, 'ech@hotmail.com ', ‘’]

#自己编写一个去除字符串空格的方法strip replace join,split;


解析


一个列表要把空字符串去除然后把原有字符串里面的空格去除尽量不使用自带函数

思路一:


使用for循环再用 if遍历


# 循环
aa_list = ['', 'abc@qq.com ', '', ' cba@163.com', 'ech@hotmail.com ', '']
bb = ''
for aa in aa_list: # 遍历列表
    if aa == '': # 判断是不是空字符串
        continue
    else:
        for a in aa: # 遍历字符串
            if a ==  ' ': # 判断是不是空格
                continue
            else:
                bb += a # 添加到字符串bb
        bb += ';' # 在合适的地方添加;
# 测试
print(bb)
结果:
abc@qq.com;cba@163.com;ech@hotmail.com;


思路二:可以采用高阶函数里面的filter()进行处理

上代码


# 高阶函数filter()
aa_list = ['', 'abc@qq.com ', '', ' cba@163.com', 'ech@hotmail.com ', '']
bb = ''
for aa in filter(lambda x :x != '', aa_list):
    for a in filter(lambda x :x != ' ', aa):
        bb += a
    bb += ';'
print(bb)
结果:
abc@qq.com;cba@163.com;ech@hotmail.com;


啊~ 今天的分享就到这里有问题的可以私聊或者留言,点赞,搜餐,留言,转发,感谢大家的支持!!!


目录
相关文章
|
2月前
|
Python
Python量化炒股的获取数据函数— get_billboard_list()
Python量化炒股的获取数据函数— get_billboard_list()
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在使用函数holiday_date遇到报错: “Perhaps you forgot to add it to using list when create funciton.,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
存储 语音技术 Python
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
|
6月前
|
存储 算法 C语言
从C语言到C++_16(list的介绍和常用接口函数)
从C语言到C++_16(list的介绍和常用接口函数)
59 0
|
6月前
|
SQL 数据处理 HIVE
【Hive】写出Hive中split、coalesce及collect_list函数的用法?
【4月更文挑战第17天】【Hive】写出Hive中split、coalesce及collect_list函数的用法?
|
6月前
python-list() 函数
python-list() 函数
28 1
|
6月前
|
Python
在Python中,`list()` 函数
在Python中,`list()` 函数
150 1
|
6月前
|
Python
Python list列表中每一个数字乘于2的两种多功能函数代码设计
要让Python中list列表中的每一个数字乘于2,可以有两种方法,一是使用列表推导式来完成,另一种是使用map()函数来完成。下面将通过实例代码来之一进行介绍。
141 2
|
6月前
|
C++ 容器
【C++】STL容器——探究List与Vector在使用sort函数排序的区别(14)
【C++】STL容器——探究List与Vector在使用sort函数排序的区别(14)
|
12月前
|
人工智能 算法 机器人
List 函数排序操作,用对方法事半功倍!
作为一名程序员,以下这些场景你肯定不陌生, 1.数据分析和处理:在处理大量数据时,需要对数据进行排序以进行进一步的分析和处理。例如,在市场调研中,可能需要按照客户的购买频率对客户列表进行排序,以确定哪些客户最有可能购买产品或服务。 2.报表生成:在生成报表时,往往需要按照特定的顺序对数据进行排列,以便清晰地展示数据。例如,在制定销售报告时,可能需要按照销售额对产品进行排序,以了解哪些产品的销售额最高。 ......