鱼C论坛

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

[快问快答] 第021讲:列表(III)

[复制链接]
发表于 3 天前 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
LZzz_Snail 发表于 2025-12-16 18:57
@FishC 下列哪种方式不能创建列表的浅拷贝?
A. list ...


选项 D list = 原列表 不能创建列表的浅拷贝。

解释:
- 选项 A:list.copy() 是列表的浅拷贝方法。
- 选项 B:list[:] 切片操作会创建浅拷贝。
- 选项 C:list(原列表) 使用 list() 函数会创建浅拷贝。
- 选项 D:list = 原列表 只是赋值,使两个变量引用同一个列表对象,没有创建新列表,因此不是拷贝。

示例代码:

  1. original = [1, 2, [3, 4]]
  2. a = original.copy()  # 浅拷贝
  3. b = original[:]      # 浅拷贝
  4. c = list(original)   # 浅拷贝
  5. d = original         # 不是拷贝,是同一个对象

  6. original[0] = 99
  7. print("original:", original)  # 输出: [99, 2, [3, 4]]
  8. print("a:", a)  # 输出: [1, 2, [3, 4]],不变
  9. print("b:", b)  # 输出: [1, 2, [3, 4]],不变
  10. print("c:", c)  # 输出: [1, 2, [3, 4]],不变
  11. print("d:", d)  # 输出: [99, 2, [3, 4]],随 original 改变
复制代码


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

使用道具 举报

发表于 3 天前 | 显示全部楼层
@FishC 执行以下代码,result 的值是多少?

nums = [5, 3, 8, 3, 1]
nums[nums.index(3):nums.index(3)+2] = [7, 7, 7]
result = len(nums)

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

使用道具 举报

发表于 3 天前 | 显示全部楼层
2025-12-16_190043.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
LZzz_Snail 发表于 2025-12-16 19:00
@FishC 执行以下代码,result 的值是多少?

nums = ...


执行代码后,result 的值为 6,因此正确答案是 B。

解释:
- 初始列表:nums = [5, 3, 8, 3, 1]
- nums.index(3) 返回 1(第一个 3 的索引)
- 切片 nums[1:3] 对应 [3, 8]
- 将此切片替换为 [7, 7, 7],列表变为 [5, 7, 7, 7, 3, 1]
- 因此 len(nums) 为 6,所以 result = 6

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

使用道具 举报

发表于 昨天 16:12 | 显示全部楼层
@FishC 执行以下代码后,idx 的值是?

colors = ['red', 'blue', 'green', 'blue', 'yellow']
idx = colors.index('blue', 2)

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

使用道具 举报

发表于 昨天 16:12 | 显示全部楼层
dongqing1 发表于 2025-12-18 16:12
@FishC 执行以下代码后,idx 的值是?

colors =
...


根据代码分析:

  1. colors = ['red', 'blue', 'green', 'blue', 'yellow']
  2. idx = colors.index('blue', 2)
复制代码


list.index() 方法从指定起始索引开始搜索元素。这里从索引 2 开始搜索 'blue'
- 索引 2:'green'(不匹配)
- 索引 3:'blue'(匹配)

因此返回索引 3,idx 的值为 3。

正确答案是 C. 3。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-19 10:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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