鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 小甲鱼

[快问快答] 第022讲:列表(IV)

[复制链接]
发表于 2025-12-22 09:51:11 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
@FishC 执行以下代码后,table[1][1] 的值是?

table = [[i*j for j in range(1, 4)] for i in range(1, 4)]

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

使用道具 举报

发表于 2025-12-22 09:51:59 | 显示全部楼层
变西瓜 发表于 2025-12-22 09:51
@FishC 执行以下代码后,table 的值是?

table =
...


题目中的代码 `table = [ for i in range(1, 4)]` 存在语法错误,无法正常执行。根据常见的编程题推断,可能原意为使用列表推导式生成一个 3x3 的乘法表,即:


  1. table = [[i * j for j in range(1, 4)] for i in range(1, 4)]
复制代码


该代码会创建一个二维列表 table,其内容如下:


  1. [
  2.     [1, 2, 3],
  3.     [2, 4, 6],
  4.     [3, 6, 9]
  5. ]
复制代码


列表索引从 0 开始,因此 table[1][1] 表示第二行第二列的元素,即 4

故正确答案是 C. 4。

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

使用道具 举报

发表于 2026-1-16 09:42:10 | 显示全部楼层
qwerty2200 发表于 2025-11-18 11:58
@FishC 执行以下代码后,board 的值是?

row = [0, 0]

b
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-1-16 09:42:59 | 显示全部楼层
兰波lanbo 发表于 2026-01-16 09:42
qwerty2200 发表于 2025-11-18 11:58
@FishC 执行以 ...


执行给定代码后,board 的值是 [[0, 0], [0, 0], [0, 0]]

代码示例:

  1. row = [0, 0]
  2. board = [row] * 3
复制代码


注意:[row] * 3 创建了一个包含三个引用的列表,每个引用都指向同一个 row 列表对象。因此,如果修改其中一个子列表(例如 board[0][0] = 1),所有子列表都会同步改变。

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

使用道具 举报

发表于 2026-2-13 16:15:06 | 显示全部楼层
@FishC 执行以下代码后,结果是 True 还是 False?

a = ['Python'] * 2
b = ['Python', 'Python']
result = a == b and a is not b

A. True
B. False
C. 报错
D. None
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-2-13 16:15:48 | 显示全部楼层
变西瓜 发表于 2026-02-13 16:15
@FishC 执行以下代码后,结果是 True 还是 False?

...


执行代码后,result 的值为 True,因此正确答案是 A. True

解释如下:

  1. a = ['Python'] * 2  # 创建一个列表,包含两个 'Python' 字符串,结果为 ['Python', 'Python']
  2. b = ['Python', 'Python']  # 直接创建内容相同的列表
  3. result = a == b and a is not b  # 比较内容并检查对象是否不同
复制代码


- a == b 比较两个列表的内容,由于都是 ['Python', 'Python'],所以结果为 True
- a is not b 检查 ab 是否为不同的对象。虽然内容相同,但它们是两个独立的列表(a 通过乘法创建,b 直接创建),所以结果为 True
- 最后,True and True 的结果为 True

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

使用道具 举报

发表于 2026-2-17 19:32:15 | 显示全部楼层
@FishC 执行以下代码后,结果是 True 还是 False?

a = ['Python'] * 2
b = ['Python', 'Python']
result = a == b and a is not b

A. True
B. False
C. 报错
D. None
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-2-17 19:32:37 | 显示全部楼层
xiaobin9095 发表于 2026-02-17 19:32
@FishC 执行以下代码后,结果是 True 还是 False?

...


执行代码后,result 的值为 True。

详细分析:

1. 执行 a = ['Python'] * 2,会创建一个列表,其中包含两个字符串元素 'Python',相当于 ['Python', 'Python']
2. 执行 b = ['Python', 'Python'],直接创建了一个内容相同的列表。
3. 比较 a == b,两个列表的元素完全相同,因此结果为 True。
4. 比较 a is not bab 是两个不同的列表对象(尽管内容相同),因此结果为 True。
5. 最后计算 True and True,结果为 True。

因此,正确答案是 A. True。


  1. # 代码验证
  2. a = ['Python'] * 2
  3. b = ['Python', 'Python']
  4. result = a == b and a is not b
  5. print(result)  # 输出 True
复制代码


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

使用道具 举报

发表于 2026-2-26 22:16:52 | 显示全部楼层
@FishC 执行以下代码后,输出是什么?

colors = ['red'] * 3
colors[1] = 'blue'
print(colors.count('red'))

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

使用道具 举报

发表于 2026-2-26 22:17:10 | 显示全部楼层
爱吹的牛 发表于 2026-02-26 22:16
@FishC 执行以下代码后,输出是什么?

colors =  * ...


执行代码后,输出是 2,对应选项 C。

详细解释:
  1. colors = ['red'] * 3  # 创建列表 ['red', 'red', 'red']
  2. colors[1] = 'blue'       # 修改后列表为 ['red', 'blue', 'red']
  3. print(colors.count('red')) # 计算 'red' 出现次数,结果为 2
复制代码


因此,正确答案是 C. 2。

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

使用道具 举报

发表于 4 天前 | 显示全部楼层
@FishC 执行以下代码后,sum_value 的值是?

data = [[1, 2], [3, 4]]
sum_value = sum(data[0] + data[1])

A. 3
B. 7
C. 10
D. 报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
yzz27814 发表于 2026-03-07 23:46
@FishC 执行以下代码后,sum_value 的值是?

data  ...


执行代码后,sum_value 的值为 C. 10


  1. data = [[1, 2], [3, 4]]
  2. sum_value = sum(data[0] + data[1])
复制代码


解析:
  • data[0] 是列表 [1, 2]
  • data[1] 是列表 [3, 4]
  • data[0] + data[1] 将两个列表拼接,得到 [1, 2, 3, 4]
  • sum([1, 2, 3, 4]) 计算总和为 10。


因此,最终结果为 10。

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

使用道具 举报

发表于 4 天前 | 显示全部楼层
@FishC 执行以下代码后,table[1][1] 的值是?

table = [[i*j for j in range(1, 4)] for i in range(1, 4)]

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

使用道具 举报

发表于 4 天前 | 显示全部楼层
yzz27814 发表于 2026-03-07 23:50
@FishC 执行以下代码后,table 的值是?

table =
...

首先,您提供的代码 `table = [ for i in range(1, 4)]` 存在语法错误,因为列表推导式缺少表达式部分。通常,这样的代码无法执行。

但根据选项和常见编程模式,您可能想创建一个 3x3 的乘法表,正确的代码应该是:


  1. table = [[i * j for j in range(1, 4)] for i in range(1, 4)]
复制代码


这段代码会生成以下二维列表:


  1. [[1, 2, 3],
  2. [2, 4, 6],
  3. [3, 6, 9]]
复制代码


在 Python 中,索引从 0 开始,所以 table[1][1] 表示第二行第二列的元素,即 4。

因此,table[1][1] 的值是 4,对应选项 C。


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

使用道具 举报

发表于 4 天前 | 显示全部楼层
@FishC 访问二维列表 matrix = [[1,2],[3,4],[5,6]] 的最后一个元素 6,正确的方式是?
A. matrix[3][2]
B. matrix[2][1]
C. matrix[-1][-1]
D. matrix[6]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
yzz27814 发表于 2026-03-07 23:54
@FishC 访问二维列表 matrix = [,,] 的最后一个元素 6 ...


对于二维列表 `matrix = [[1,2],[3,4],[5,6]]`,访问最后一个元素 `6` 的正确方式如下:

- 选项 B:使用正索引 matrix[2][1],因为索引从 0 开始,第三个子列表([5,6])的索引为 2,第二个元素(6)的索引为 1。
- 选项 C:使用负索引 matrix[-1][-1],其中 -1 表示最后一个元素,因此先取最后一个子列表 [5,6],再取该子列表的最后一个元素 6。

选项 A matrix[3][2] 错误,因为索引 3 超出了子列表的范围(只有 0、1、2),且索引 2 超出了子列表内元素的范围(只有 0、1)。  
选项 D matrix[6] 错误,因为索引 6 超出了子列表范围,且这不是访问二维元素的正确语法。

因此,正确选项是 B 和 C。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-11 13:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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