【发布时间】:2019-03-14 16:58:36
【问题描述】:
为什么下面的代码输出8?
lst = [1, 1, 2, 3, 5, 8, 13]
print(lst[lst[4]])
输出:8
【问题讨论】:
-
list[4]= 5(列表索引从 0 开始)。list[5](=[list[list[4]]) = 8。也不要将你的变量命名为list。
标签: python arrays list operators
为什么下面的代码输出8?
lst = [1, 1, 2, 3, 5, 8, 13]
print(lst[lst[4]])
输出:8
【问题讨论】:
list[4] = 5(列表索引从 0 开始)。 list[5] (= [list[list[4]]) = 8。也不要将你的变量命名为list。
标签: python arrays list operators
如果您有一个列表,例如 A = [10, 20, 30, 40, 50, 60, 70],那么要访问特定元素,您必须指定该元素的 索引。索引基本上是该元素的位置,python 列表从 0 开始。因此,如果我们想在列表 A 中获取元素“10”,我们会说 A[0],因为它是第一个元素。 请记住,括号中的数字是您要求的职位。
现在在您的列表中,lst = [1, 1, 2, 3, 5, 8, 13],您说的是 lst[lst[4]] 其中 lst[4] == 5,但这个 5 越来越作为位置通过。所以 lst[lst[4]] 与 lst[5] 相同,等于 8。
【讨论】:
分解一下
lst = [1, 1, 2, 3, 5, 8, 13]
x = lst[4] # 5
y = lst[lst[4]] # lst[5]
print(y)
【讨论】:
这花了我一点时间,但我不得不把它写出来。我是一个视觉学习者。 由内而外解决
我们要解决的代码:
lst = [1, 1, 2, 3, 5, 8, 13]
打印(lst[lst[4]])
第 1 步:
打印(lst[lst[4]]) = 打印(lst[5])
这是因为 5 在 lst[4] 或第 4 个索引中
那么:
打印(lst[5]) = 8
因为 8 在第 5 个索引中。
【讨论】: