FishC 发表于 2025-12-16 18:58:53

LZzz_Snail 发表于 2025-12-16 18:57
@FishC 下列哪种方式不能创建列表的浅拷贝?
A. list ...

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

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

示例代码:

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

original = 99
print("original:", original)# 输出: ]
print("a:", a)# 输出: ],不变
print("b:", b)# 输出: ],不变
print("c:", c)# 输出: ],不变
print("d:", d)# 输出: ],随 original 改变


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

LZzz_Snail 发表于 2025-12-16 19:00:00

@FishC 执行以下代码,result 的值是多少?

nums =
nums =
result = len(nums)

A. 5
B. 6
C. 7
D. 8

LZzz_Snail 发表于 2025-12-16 19:00:59

FishC 发表于 2025-12-16 19:01:36

LZzz_Snail 发表于 2025-12-16 19:00
@FishC 执行以下代码,result 的值是多少?

nums = ...

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

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

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

dongqing1 发表于 2025-12-18 16:12:18

@FishC 执行以下代码后,idx 的值是?

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

A. 1
B. 2
C. 3
D. ValueError 异常

FishC 发表于 2025-12-18 16:12:45

dongqing1 发表于 2025-12-18 16:12
@FishC 执行以下代码后,idx 的值是?

colors =
...

根据代码分析:

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

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

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

正确答案是 C. 3。

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

火柴人618 发表于 2026-1-13 16:07:33

qwerty2200 发表于 2025-11-17 12:02
@FishC count() 方法的时间复杂度是?
A. O(1)
B. O(log n)


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

data =
result = data.count(2)

A. 1
B. 2
C. 3
D. 4

FishC 发表于 2026-1-13 16:08:17

火柴人618 发表于 2026-01-13 16:07
qwerty2200 发表于 2025-11-17 12:02
@FishC count() ...

qwerty2200 发表于 2025-11-17 12:02

针对您的问题:

问题1:count() 方法的时间复杂度
在 Python 中,列表的 count() 方法需要遍历整个列表,因此时间复杂度为 O(n),其中 n 是列表长度。您提供的选项 A. O(1) 和 B. O(log n) 均不正确。

问题2:执行代码后 result 的值
代码:

data =
result = data.count(2)

列表 data 中包含三个元素 2,所以 result 的值为 3,对应选项 C。

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

FishC 发表于 2026-1-13 16:08:49

火柴人618 发表于 2026-01-13 16:07
qwerty2200 发表于 2025-11-17 12:02
@FishC count() ...

对于第一个问题,Python 列表的 count() 方法需要遍历整个列表来统计元素出现的次数,因此时间复杂度为 O(n)。但提供的选项中没有 O(n),所以 A 和 B 都不正确。在选择题中,如果必须从给定选项选择,可能意图是考察基础,但这里建议记住实际复杂度为 O(n)。

对于第二个问题,代码 data.count(2) 会统计数字 2 在列表中出现的次数。列表 中,2 出现了 3 次,因此 result 的值为 3,对应选项 C。

答案总结:
- 时间复杂度:实际为 O(n),但选项不完整。
- result 的值:C. 3

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