鱼C论坛

 找回密码
 立即注册
查看: 293|回复: 23

[快问快答] 第025讲:列表(VII)

[复制链接]
发表于 2025-10-26 06:24:46 | 显示全部楼层 |阅读模式
购买主题 已有 1 人购买  本主题需向作者支付 5 鱼币 才能浏览
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-11-21 09:08:58 | 显示全部楼层
@FishC 执行以下代码后,result 的值是?

words = ['Hello', 'world', 'Python']
result = [word[0].lower() for word in words]

A. ['H', 'w', 'P']
B. ['h', 'w', 'p']
C. ['hello', 'world', 'python']
D. ['h', 'w', 'P']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-21 09:10:02 | 显示全部楼层
fishchamster 发表于 2025-11-21 09:08
@FishC 执行以下代码后,result 的值是?

words =  ...


执行代码后,result 的值是 B. ['h', 'w', 'p']。

解释:
代码 [word[0].lower() for word in words] 使用列表推导式遍历 words 列表中的每个单词,对每个单词取第一个字符并转换为小写。

- 'Hello' 的第一个字符是 'H',小写为 'h'
- 'world' 的第一个字符是 'w',小写为 'w'(已经是小写)
- 'Python' 的第一个字符是 'P',小写为 'p'

因此,result 最终为 ['h', 'w', 'p']

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-23 18:53:50 | 显示全部楼层
@FishC 以下代码的输出是?

result = [x**2 for x in range(5) if x**2 < 10]

A. [0, 1, 4]
B. [0, 1, 4, 9]
C. [0, 1, 9]
D. [1, 4, 9]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-11-23 18:54:58 | 显示全部楼层
qwerty2200 发表于 2025-11-23 18:53
@FishC 以下代码的输出是?

result =

A.
B.  ...


答案:B. [0, 1, 4, 9]

解释:代码 [x**2 for x in range(5) if x**2 < 10] 是一个列表推导式,它会遍历 range(5)(即 x 从 0 到 4),计算每个 x 的平方,但只保留平方值小于 10 的结果。

具体过程如下:
- x=0: 0**2=0 <10 → 包含 0
- x=1: 1**2=1 <10 → 包含 1
- x=2: 2**2=4 <10 → 包含 4
- x=3: 3**2=9 <10 → 包含 9
- x=4: 4**2=16 >=10 → 不包含

因此,最终生成的列表是 [0, 1, 4, 9]。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:28:25 | 显示全部楼层
@FishC 以下代码的输出是?

result = [x**2 for x in range(5) if x**2 < 10]

A. [0, 1, 4]
B. [0, 1, 4, 9]
C. [0, 1, 9]
D. [1, 4, 9]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:28:59 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:28
@FishC 以下代码的输出是?

result =

A.
B.  ...


我们来分析一下这段列表推导式代码:


  1. result = [x**2 for x in range(5) if x**2 < 10]
复制代码


其中 range(5) 生成的 x 值为 0, 1, 2, 3, 4。

计算每个 x 的平方并检查条件:
- 当 x=0:0^2=0,0<10 为真,保留 0。
- 当 x=1:1^2=1,1<10 为真,保留 1。
- 当 x=2:2^2=4,4<10 为真,保留 4。
- 当 x=3:3^2=9,9<10 为真,保留 9。
- 当 x=4:4^2=16,16<10 为假,不保留。

因此,结果列表为 [0, 1, 4, 9]。

对应选项 B。

正确答案是:B. [0, 1, 4, 9]

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:29:13 | 显示全部楼层
@FishC 执行以下代码后,result 的值是?

words = ['Hello', 'world', 'Python']
result = [word[0].lower() for word in words]

A. ['H', 'w', 'P']
B. ['h', 'w', 'p']
C. ['hello', 'world', 'python']
D. ['h', 'w', 'P']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:29:36 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:29
@FishC 执行以下代码后,result 的值是?

words =  ...

执行以下代码后,result 的值是?

words = ['Hello', 'world', 'Python']
result = [word[0].lower() for word in words]

A. ['H', 'w', 'P']
B. ['h', 'w', 'p']
C. ['hello', 'world', 'python']
D. ['h', 'w', 'P']


代码解析:
- 列表推导式 word[0].lower() 会取出每个单词的首字母并转换为小写。
- 'Hello' 的首字母 'H' 转换为 'h'
- 'world' 的首字母 'w' 转换为 'w'(不变)。
- 'Python' 的首字母 'P' 转换为 'p'

因此,result 的值为 ['h', 'w', 'p'],对应选项 B

正确答案:B. ['h', 'w', 'p']

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:29:43 | 显示全部楼层
@FishC 哪个列表推导式可以提取字符串中的所有数字字符?
A. [c for c in 'a1b2c3' if c.isdigit()]
B. [c for c in 'a1b2c3' if c.isalpha()]
C. [int(c) for c in 'a1b2c3']
D. [c for c in 'a1b2c3' if type(c) == int]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:30:23 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:29
@FishC 哪个列表推导式可以提取字符串中的所有数字字 ...


正确选项是 A. [c for c in 'a1b2c3' if c.isdigit()]

解释如下:

- 选项A:使用 c.isdigit() 检查每个字符是否为数字,能正确提取字符串中的数字字符 '1'、'2'、'3'。
- 选项B:使用 c.isalpha() 检查每个字符是否为字母,会提取字母 'a'、'b'、'c',而不是数字。
- 选项C:无内容,无效。
- 选项D:使用 type(c) == int 检查字符类型,但字符串中的每个字符都是字符串类型,因此无法提取任何数字。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:31:50 | 显示全部楼层
@FishC 以下代码创建的列表包含多少个元素?

result = [x for x in range(100) if x % 7 == 0 and x % 5 == 0]

A. 2
B. 3
C. 4
D. 5
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:32:13 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:31
@FishC 以下代码创建的列表包含多少个元素?

resul ...


代码创建的列表是:

  1. result = [x for x in range(100) if x % 7 == 0 and x % 5 == 0]
复制代码


这里 range(100) 生成从 0 到 99 的整数。条件 x % 7 == 0 and x % 5 == 0 表示 x 同时是 5 和 7 的倍数,即 x 是 35 的倍数。

在 0 到 99 之间,35 的倍数有:0、35、70,共 3 个。

因此答案选 B. 3。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:32:33 | 显示全部楼层
@FishC 执行以下代码后,result 的长度是?

result = [x*y for x in 'ab' for y in '123']

A. 2
B. 3
C. 5
D. 6
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:33:23 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:32
@FishC 执行以下代码后,result 的长度是?

result ...


这是一个列表推导式,包含嵌套循环:  
- 外层循环:x 遍历字符串 'ab'(2 个元素:'a' 和 'b')  
- 内层循环:y 遍历字符串 '123'(3 个元素:'1'、'2'、'3')  

因此总共生成 2 × 3 = 6 个元素,所以 result 的长度为 6。  

正确答案为 D。  


  1. result = [x*y for x in 'ab' for y in '123']
  2. print(len(result))  # 输出 6
复制代码


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:52:47 | 显示全部楼层
@FishC 以下代码创建的 result 包含多少个元素?

result = [[i+j for j in range(3)] for i in range(3)]

A. 3
B. 6
C. 9
D. 这是一个 3x3 的二维列表
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:53:20 | 显示全部楼层
@FishC 执行以下代码后,result 的长度是?

result = [x*y for x in 'ab' for y in '123']

A. 2
B. 3
C. 5
D. 6
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:53:53 | 显示全部楼层
@FishC 执行以下代码后,result 的值是?

words = ['Hello', 'world', 'Python']
result = [word[0].lower() for word in words]

A. ['H', 'w', 'P']
B. ['h', 'w', 'p']
C. ['hello', 'world', 'python']
D. ['h', 'w', 'P']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:54:16 | 显示全部楼层
LZzz_Snail 发表于 2025-12-18 10:52
@FishC 以下代码创建的 result 包含多少个元素?

r ...

以下代码创建的 result 包含多少个元素?

result = [ for i in range(3)]


这段代码存在语法错误,因为列表推导式中缺少表达式。正确的形式应为 [i for i in range(3)],它会创建一个包含 3 个元素的列表:[0, 1, 2]。

因此,正确答案是 A. 3

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-12-18 10:54:25 | 显示全部楼层
@FishC 哪个列表推导式可以提取字符串中的所有数字字符?
A. [c for c in 'a1b2c3' if c.isdigit()]
B. [c for c in 'a1b2c3' if c.isalpha()]
C. [int(c) for c in 'a1b2c3']
D. [c for c in 'a1b2c3' if type(c) == int]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-9 06:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表