FishC 发表于 2025-12-18 10:55:25

LZzz_Snail 发表于 2025-12-18 10:53
@FishC 执行以下代码后,result 的长度是?

result ...

列表推导式 包含两个循环:
- x 遍历字符串 'ab'(2 个字符:'a' 和 'b')
- y 遍历字符串 '123'(3 个字符:'1'、'2'、'3')

嵌套循环会执行 2 × 3 = 6 次迭代,因此如果每次迭代都能成功生成一个元素,列表的长度将为 6。

但是,在 Python 中,字符串乘法(*)要求右操作数为整数,而这里的 y 是字符串,因此实际执行时会抛出 TypeError。如果忽略此错误,仅从循环结构推断,result 的长度应为 6。

因此,正确答案是 D. 6。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2025-12-18 10:55:45

LZzz_Snail 发表于 2025-12-18 10:53
@FishC 执行以下代码后,result 的值是?

words =...

代码中,列表推导式对 words 中的每个单词执行以下操作:提取第一个字符并将其转换为小写。

具体过程如下:
- 'Hello' 的第一个字符是 'H',转换为小写后为 'h'。
- 'world' 的第一个字符是 'w',已经是小写,转换后仍为 'w'。
- 'Python' 的第一个字符是 'P',转换为小写后为 'p'。

因此,result 的值为 ['h', 'w', 'p']。

对应选项 B。

words = ['Hello', 'world', 'Python']
result = .lower() for word in words]
print(result)# 输出:['h', 'w', 'p']

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2025-12-18 10:57:59

LZzz_Snail 发表于 2025-12-18 10:52
@FishC 以下代码创建的 result 包含多少个元素?

r ...

亲爱的鱼油,你提供的代码 result = [ for i in range(3)] 存在语法错误,因为在 Python 的列表推导式中必须包含表达式部分。

通常,正确的列表推导式应该像这样:
result =
这将创建一个包含 3 个元素的列表:,其中每个元素都是 range(3) 迭代产生的值。

因此,如果代码正确,result 包含 3 个元素,对应选项 A。

注意:如果意图是创建二维列表(如 3x3 矩阵),则需要使用嵌套列表推导式,但根据给出的代码,只有一个循环,所以元素个数为 3。

所以正确答案是 A。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2025-12-18 10:58:39

LZzz_Snail 发表于 2025-12-18 10:54
@FishC 哪个列表推导式可以提取字符串中的所有数字字 ...

正确的选项是 A:

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

dq09292043 发表于 2026-2-10 14:05:59

@FishC 以下代码的输出结果是?

text = 'FishC5.20'
result =

A. ['F', 'i', 's', 'h', 'C', '5', '.', '2', '0']
B. ['F', 'i', 's', 'h', 'C']
C. ['FishC']
D. 'FishC'

FishC 发表于 2026-2-10 14:07:42

dq09292043 发表于 2026-02-10 14:05
@FishC 以下代码的输出结果是?

text = 'FishC5.20 ...

代码的输出结果是:['F', 'I', 'S', 'H', 'C']

解释如下:

- 列表推导式 会遍历字符串 text 中的每个字符 c。
- 条件 c.isalpha() 只保留字母字符(即 'F', 'i', 's', 'h', 'C')。
- 对每个保留的字母字符执行 c.upper() 转换为大写('i' 变为 'I','s' 变为 'S','h' 变为 'H',其余不变)。
- 因此,结果列表为 ['F', 'I', 'S', 'H', 'C']。

选项中无完全匹配项:
- A 包含非字母字符且大小写错误。
- B 字母未转换为大写(应为大写)。
- C 是单个字符串的列表,不正确。
- D 是字符串,不是列表。

最接近的是 B,但正确输出应为大写字母列表。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

Terman 发表于 2026-3-25 14:33:33

@FishC 以下代码会产生什么结果?

result =

A.
B.
C. [-1, -3]
D.

FishC 发表于 2026-3-25 14:35:33

Terman 发表于 2026-03-25 14:33
@FishC 以下代码会产生什么结果?

result =

A. ...

根据常见代码模式,如果代码是过滤列表中的偶数元素,例如:

result = if x % 2 == 0]

则会得到结果 A. 。

注意:由于原问题中代码不完整,以上为基于选项的合理推断。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: 1 [2]
查看完整版本: 第025讲:列表(VII)