当前位置: 首页 > news >正文

扩展函数练习题

求两数平方和

题目描述

编写一个 lambda 函数,计算两个数的平方和。

输出示例

输入:3, 4
输出:25

实现代码

# lambda 函数计算平方和
square_sum = lambda x, y: x**2 + y**2# 测试
result = square_sum(3, 4)
print(f"3和4的平方和: {result}")

元组排序

题目描述

给定列表 tuples = [(2, 5), (1, 3), (3, 1), (4, 2)],按元组中第二个元素升序排序。

输出示例

[(3, 1), (4, 2), (1, 3), (2, 5)]

实现代码

tuples = [(2, 5), (1, 3), (3, 1), (4, 2)]
tuples.sort(key=lambda t: t[1])  # 按元组索引1的元素升序
print(tuples)  # 输出:[(3, 1), (4, 2), (1, 3), (2, 5)]

筛选偶数

题目描述

用 filter() 和 lambda 筛选列表 [1, 2, 3, 4, 5, 6] 中的偶数。

输出示例

 [2, 4, 6]

实现代码

nums = [1, 2, 3, 4, 5, 6]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)  # 输出:[2, 4, 6]

筛选含有字母 "a" 的字符串

题目描述

筛选列表 ["apple", "banana", "cherry", "date"] 中包含字母 "a" 的字符串(不区分大小写)。

输出示例

 ["apple", "banana", "date"]

实现代码

words = ["apple", "banana", "cherry", "date"]
has_a = list(filter(lambda s: 'a' in s.lower(), words))
print(has_a)  # 输出:['apple', 'banana', 'date']

筛选学生

题目描述

students=[(‘张莉’,78),(‘王明’,87),(‘刘超’,88),(‘王燕’,93),(‘刘海’,68),(‘邓超’,97)]

用filter() 函数筛选出成绩90分及以上的列表中的学生。

输出示例

[('王燕', 93), ('邓超', 97)]

实现代码

score=[('张莉',78),('王明',87),('刘超',88),('王燕',93),('刘海',68),('邓超',97)]
score_90=list(filter(lambda element:element[1]>=90 , score ))
print(score_90)

筛选索引为偶数的元素

题目描述

给定列表 [10, 20, 30, 40, 50, 60],使用 enumerate() 筛选出索引为偶数(0、2、4...)的元素,组成新列表。

输出示例

[10, 30, 50]

实现代码

nums = [10, 20, 30, 40, 50, 60]
even_index_elements = [value for index, value in enumerate(nums) if index % 2 == 0]
print(even_index_elements)  # 输出:[10, 30, 50]

构建索引 - 值字典

题目描述

使用 enumerate() 将列表 ["red", "green", "blue"] 转换为字典,键为索引(从 1 开始),值为列表元素。

输出示例

{1: 'red', 2: 'green', 3: 'blue'}

实现代码

colors = ["red", "green", "blue"]
index_dict = {index: value for index, value in enumerate(colors, start=1)}
print(index_dict)  # 输出:{1: 'red', 2: 'green', 3: 'blue'}

多个列表打包

题目描述

用 zip() 打包三个列表 a = [1, 2, 3]b = [4, 5, 6]c = [7, 8, 9],生成 (a元素, b元素, c元素) 的元组列表。

输出示例

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

实现代码

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
packed = list(zip(a, b, c))
print(packed)  # 输出:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

合并两个列表为字典

题目描述

用 zip() 将列表 keys = ["name", "age", "gender"] 和 values = ["Alice", 20, "female"] 合并为字典。

输出示例

{'name': 'Alice', 'age': 20, 'gender': 'female'}

实现代码

keys = ["name", "age", "gender"]
values = ["Alice", 20, "female"]
person = dict(zip(keys, values))
print(person)  # 输出:{'name': 'Alice', 'age': 20, 'gender': 'female'}

计算对应元素之和

题目描述

用 zip() 计算两个列表 a = [10, 20, 30] 和 b = [5, 15, 25] 中对应元素的和,生成新列表。

输出示例

[15, 35, 55]

实现代码

a = [10, 20, 30]
b = [5, 15, 25]
sums = [x + y for x, y in zip(a, b)]
print(sums)  # 输出:[15, 35, 55]

字符串转大写

题目描述

用 map() 将列表 ["apple", "banana", "cherry"] 中的字符串全部转为大写。

输出示例

['APPLE', 'BANANA', 'CHERRY']

实现代码

words = ["apple", "banana", "cherry"]
upper_words = list(map(lambda s: s.upper(), words))
print(upper_words)  # 输出:['APPLE', 'BANANA', 'CHERRY']

两数相加

题目描述

用 map() 处理两个列表 [1, 2, 3] 和 [4, 5, 6],返回对应元素的和。

输出示例

[5, 7, 9]

实现代码

a = [1, 2, 3]
b = [4, 5, 6]
sums = list(map(lambda x, y: x + y, a, b))  # 函数接收两个参数
print(sums)  # 输出:[5, 7, 9]

按字符串长度排序

题目描述

对列表 ["apple", "cat", "banana", "dog"] 按字符串长度升序排序。

输出示例

["cat", "dog", "apple", "banana"]

实现代码

words = ["apple", "cat", "banana", "dog"]
# key=lambda s: len(s) 表示按字符串长度排序
sorted_words = sorted(words, key=lambda s: len(s))
print(sorted_words)  # 输出:['cat', 'dog', 'apple', 'banana']

字典排序

题目描述

对列表 [ {"name": "Bob", "age": 19}, {"name": "Alice", "age": 17}, {"name": "Charlie", "age": 18} ] 按 age 升序排序。

输出示例

[{'name': 'Alice', 'age': 17}, {'name': 'Charlie', 'age': 18}, {'name': 'Bob', 'age': 19}]

实现代码

students = [{"name": "Bob", "age": 19},{"name": "Alice", "age": 17},{"name": "Charlie", "age": 18}
]
# key=lambda d: d["age"] 表示按字典"age"键的值排序
sorted_students = sorted(students, key=lambda d: d["age"])
print(sorted_students)

http://www.dtcms.com/a/606477.html

相关文章:

  • Java后端常用技术选型 |(一)数据库篇
  • 婚纱摄影网站应该如何做优化室内装修设计软件下载
  • 从零开始写算法——二分-寻找旋转排序数组中的最小值
  • 一站式网站建设与运营简述网站开发平台及常用工具
  • 易语言程序反编译 | 深入了解反编译技术与应用
  • 本地部署数据库管理工具 NocoDB 并实现外部访问(Linux 版本)
  • 9V-36V转3.3V4A同步降压WT6043A
  • P10668 BZOJ2720 [Violet 5] 列队春游(自己加强版) 题解
  • 学做立体书的网站wordpress小人插件
  • 网站图片地址怎么做的搜索指数的数据来源是什么
  • c# 上位机作为控制端与下位机通信方式
  • 一文了解UI自动化测试
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第三十六讲)
  • MySQL 缓存机制与查询缓存的消亡史
  • 平凡前端之路_19.数组的扩展
  • 做校园网站黑龙江建设网ca锁
  • 俞润装饰做哪几个网站杭州萧山网络
  • 平安车险官方保险网站搜索引擎网址有哪些
  • 视频sdk是什么意思?
  • CSDN在干啥?
  • 自查C语言水平
  • Kibana(版本8)
  • 华强北做电子网站贵阳网站建设哪家公司好
  • wordpress文章页怎么调用网站图片浏阳做网站推荐
  • CHDroid 安卓上的游戏ROM CHD格式转换工具软件 游戏ROM容量压缩
  • SpringCloud快速通关(下)
  • 实现简单的Springboot自动加载机制
  • 人群计数的课程学习——是否值得:
  • 品牌网站建设报价表wordpress china
  • eyoucms 如何采集文章呢?基于php的采集样例