鱼C论坛

 找回密码
 立即注册
查看: 320|回复: 18

[快问快答] 第019讲:列表(I)

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

使用道具 举报

发表于 2025-9-16 12:49:25 | 显示全部楼层
@FishC Pythonic 是什么意思?
A. 代码保证正确
B. 代码尽量简洁优雅
C. 代码务必完整
D. 代码尽显高级
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-16 12:50:17 | 显示全部楼层
12岁 发表于 2025-09-16 12:49
@FishC Pythonic 是什么意思?
A. 代码保证正确
B.  ...


Pythonic 是 Python 社区中的一个术语,指的是编写代码时遵循 Python 的设计哲学和风格指南,强调代码的简洁性、可读性和优雅性。Python 的哲学包括“简单优于复杂”和“可读性很重要”等原则。

因此,对于您的问题,正确答案是 B. 代码尽量简洁优雅

其他选项不正确的原因:
- A. 代码保证正确:Pythonic 关注的是代码风格,而非正确性。
- C. 代码务必完整:Pythonic 不强调完整性,而是代码的表达方式。
- D. 代码尽显高级:Pythonic 追求简洁和清晰,而非炫耀高级特性。

例如,使用列表推导式 [x**2 for x in range(10)] 比传统的循环更 Pythonic,因为它更简洁和易读。

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

使用道具 举报

发表于 2025-9-27 10:16:44 | 显示全部楼层
@FishC 下列哪个函数可以获取列表的长度?
A. count()
B. size()
C. len()
D. length()
D为什么不对呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-27 10:17:52 | 显示全部楼层
萌萌的小霈 发表于 2025-09-27 10:16
@FishC 下列哪个函数可以获取列表的长度?
A. count( ...


亲爱的鱼油,您好!

对于您的问题,正确答案是 C. len()

D. length() 不对的原因是:在 Python 中,列表对象没有 length() 这个方法。Python 使用内置函数 len() 来获取列表的长度,这是一个通用函数,也适用于其他数据类型如字符串、元组等。

下面是一个简单的代码示例:

  1. # 创建一个列表
  2. my_list = [1, 2, 3, 4, 5]

  3. # 使用 len() 获取长度
  4. length = len(my_list)
  5. print(length)  # 输出 5

  6. # 如果错误使用 length(),会报错
  7. # my_list.length()  # 这行代码会引发 AttributeError
复制代码


如果您尝试使用 length(),Python 会提示错误,因为列表没有这个属性。希望这个解释对您有帮助!如果还有其他疑问,欢迎继续交流。

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

使用道具 举报

发表于 2025-10-7 23:16:08 | 显示全部楼层
@FishC 以下代码输出结果是?

nums = [1, 2, 3, 4, 5]
print(nums[1:-1])

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

使用道具 举报

发表于 2025-10-7 23:17:06 | 显示全部楼层
graceyao 发表于 2025-10-07 23:16
@FishC 以下代码输出结果是?

nums =
print(nums ...


输出结果是 [2, 3, 4],对应选项 A。

在Python中,列表切片使用 [start:stop] 格式,其中 start 是起始索引(包含),stop 是结束索引(不包含)。负索引表示从列表末尾开始计数,例如 -1 代表最后一个元素。

对于列表 nums = [1, 2, 3, 4, 5]
- nums[1:-1] 表示从索引 1(值 2)开始,到索引 -1(值 5)结束,但不包括索引 -1。
- 因此,切片包含索引 1、2、3 对应的元素,即 [2, 3, 4]。

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

使用道具 举报

发表于 2025-10-19 00:11:38 | 显示全部楼层
@FishC 以下代码会输出什么?

rhyme = [1, 2, 3, 4, 5, "上山打老虎"]
print(rhyme[0:6:2])

A. [1, 2, 3]
B. [1, 3, 5]
C. [2, 4, "上山打老虎"]
D. [1, 2, 3, 4, 5, '上山打老虎']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-10-19 00:12:47 | 显示全部楼层
yueluo 发表于 2025-10-19 00:11
@FishC 以下代码会输出什么?

rhyme =
print(rhy ...


您好!让我们来分析这段代码。

列表 rhyme 是:[1, 2, 3, 4, 5, "上山打老虎"]
切片操作 rhyme[0:6:2] 表示从索引 0 开始,到索引 6(不包括),步长为 2。

索引计算:
- 索引 0: 1
- 索引 2: 3
- 索引 4: 5

因此,输出为 [1, 3, 5]。

所以,正确答案是 B. [1, 3, 5]。

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

使用道具 举报

发表于 2025-10-21 09:12:38 | 显示全部楼层
@FishC 以下代码输出结果是?

nums = [1, 2, 3, 4, 5]
print(nums[1:-1])

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

使用道具 举报

发表于 2025-10-21 09:13:28 | 显示全部楼层
cyxkl 发表于 2025-10-21 09:12
@FishC 以下代码输出结果是?

nums =
print(nums ...


正确答案是:A. [2, 3, 4]

解释:在 Python 中,列表切片 nums[1:-1] 表示从索引 1(包含)开始,到索引 -1(不包含)结束。列表 nums 的元素索引分别为 0(值 1)、1(值 2)、2(值 3)、3(值 4)、4(值 5)。因此,切片包含索引 1 到 3 的元素,即 [2, 3, 4]。

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

使用道具 举报

发表于 2025-10-22 21:56:00 | 显示全部楼层
@FishC 以下代码输出什么?

rhyme = [1, 2, 3, 4, 5, "上山打老虎"]
print(rhyme[::-2])

A. ['上山打老虎', 5, 3, 1]
B. [1, 3, 5]
C. ['上山打老虎', 4, 2]
D. [1, 2, 3, 4, 5, '上山打老虎']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-10-22 21:57:11 | 显示全部楼层
Epylus 发表于 2025-10-22 21:56
@FishC 以下代码输出什么?

rhyme =
print(rhyme ...


代码输出结果是 C. ['上山打老虎', 4, 2]

解释:
在 Python 中,列表切片操作 rhyme[::-2] 表示从列表末尾开始,以步长 2 反向选取元素。列表 rhyme 的元素依次为:

  1. 索引:  0   1   2   3   4      5
  2. 值:    1   2   3   4   5   '上山打老虎'
复制代码

使用 [::-2] 后,从索引 5(最后一个元素)开始,步长 -2,依次选取索引 5、3、1 对应的元素,即 ['上山打老虎', 4, 2]。

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

使用道具 举报

发表于 5 天前 | 显示全部楼层
@FishC 以下代码会输出什么?

rhyme = [1, 2, 3, 4, 5, "上山打老虎"]
print(rhyme[0:6:2])

A. [1, 2, 3]
B. [1, 3, 5]
C. [2, 4, "上山打老虎"]
D. [1, 2, 3, 4, 5, '上山打老虎']
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
FERW 发表于 2025-10-29 10:48
@FishC 以下代码会输出什么?

rhyme =
print(rhy ...


根据代码 `rhyme = [1, 2, 3, 4, 5, "上山打老虎"]` 和切片操作 `rhyme[0:6:2]`,我们来分析一下:

- 切片语法为 [start:stop:step],其中:
  - start=0 表示从索引 0 开始(元素 1)。
  - stop=6 表示到索引 6 结束(但不包括索引 6,实际到索引 5)。
  - step=2 表示步长为 2,即每隔一个元素取一个。

因此,切片会选取索引 0、2、4 对应的元素:
- 索引 0:1
- 索引 2:3
- 索引 4:5

输出结果为 [1, 3, 5]

对应选项,正确答案是 B。

  1. rhyme = [1, 2, 3, 4, 5, "上山打老虎"]
  2. print(rhyme[0:6:2])  # 输出 [1, 3, 5]
复制代码


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

使用道具 举报

发表于 5 天前 | 显示全部楼层
@FishC 下列代码的输出结果是?

x = [10, 20, 30, 40]
print(x[::2])

A. [10, 20]
B. [10, 30]
C. [20, 40]
D. [30, 40]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
FERW 发表于 2025-10-29 10:50
@FishC 下列代码的输出结果是?

x =
print(x)

...


输出结果是 B. [10, 30]

解释:在Python中,列表切片语法 [start:stop:step] 用于获取列表的子集。当 startstop 省略时,默认从列表开头到结尾。步长 step=2 表示每隔一个元素取一个。

对于列表 x = [10, 20, 30, 40]
- 索引0: 10
- 索引1: 20(被跳过)
- 索引2: 30
- 索引3: 40(被跳过,因为步长2)

因此,x[::2] 返回 [10, 30]。

代码示例:

  1. x = [10, 20, 30, 40]
  2. print(x[::2])  # 输出 [10, 30]
复制代码


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

使用道具 举报

发表于 5 天前 | 显示全部楼层
@FishC 以下哪个不是 Python 列表的切片表达式?
A. lst[2:5]
B. lst[:]
C. lst[::2]
D. lst[2,5]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
FERW 发表于 2025-10-29 10:51
@FishC 以下哪个不是 Python 列表的切片表达式?
A.  ...


答案:D. lst[2,5] 不是 Python 列表的切片表达式。

解释:
Python 列表切片使用冒号(:)来分隔起始索引、结束索引和步长。例如:
- lst[2:5] 表示从索引 2 到 5(不包括 5)的切片。
- lst[:] 表示整个列表的副本。
- lst[::2] 表示从开始到结束,步长为 2 的切片。

lst[2,5] 使用逗号,这不是有效的切片语法。它会引发 TypeError,因为列表索引必须是整数或切片对象,而不是元组。

示例代码:

  1. # 正确的切片示例
  2. lst = [0, 1, 2, 3, 4, 5]
  3. print(lst[2:5])  # 输出 [2, 3, 4]
  4. print(lst[:])    # 输出 [0, 1, 2, 3, 4, 5]
  5. print(lst[::2])  # 输出 [0, 2, 4]

  6. # 错误的示例
  7. # print(lst[2,5])  # 这会报错:TypeError: list indices must be integers or slices, not tuple
复制代码


因此,D 选项不是有效的切片表达式。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 14:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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