Python的函数式编程,要用到lambda函数和map()函数,核心代码不少于三十行,急!
5条回答 默认 最新
- 漫伊 2022-05-31 18:43关注
感觉 你俩问题一样,
多写了 几个,看一下吧
https://ask.csdn.net/questions/7729851class Person: name = '' age = 0 Date = '' id = '' def say_some(self): return f'我是克隆体:{self.name} 号,出生于 {self.Date}'
# 获取 一个集合数据 from datetime import datetime def get_Person_List(name): arr = [] for x in range(0, 50): # 循环50 次 ser = '_{:0>3d}'.format(x + 1) # 格式化3位数序号,位数不够0 补位 per = Person() per.id = x + 1 per.name = name + ser per.age = 13 per.Date = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f") # 格式化时间 per.say_some() arr.append(per) return arr def print_str(x): print(x.name) print(x.age) print(x.say_some()) def is_prime1(n): return len(list(filter(lambda i: n % i == 0, range(2, n)))) == 0 mm = lambda x: x + 2 # lambda 作为赋值给变量,变量作为函数 # Press the green button in the gutter to run the script. if __name__ == '__main__': # 直接调用 lambd 匿名方法 print(mm(1)) # 处理集合数据 lst = get_Person_List('张三') list(map(lambda x: print_str(x), lst)) # 使用lambda 匿名函数,map() 返回迭代器,list()转换为列表 # 求 ls 中 素数的和 sum = 0 ls = [23, 45, 67, 87] for x in ls: if is_prime1(x): sum = sum + x print(sum)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 有没有帮写代码做实验仿真的
- ¥15 報錯:Person is not mapped,如何解決?
- ¥30 vmware exsi重置后登不上
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题