【问题标题】:Operations on Python listPython列表上的操作
【发布时间】: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


【解决方案1】:

如果您有一个列表,例如 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[4] == 5 和 5 被作为位置传递?
  • @Z-CODE,这里是列表:lst = [1, 1, 2, 3, 5, 8, 13]。所以如果你从零开始计数 lst[0] = 1; lst[1] = 1; lst[2] = 2; lst[3] = 3; lst[4] = 5。括号[]中的数字是位置,=号后面的数字是值
【解决方案2】:

分解一下

lst = [1, 1, 2, 3, 5, 8, 13]

x = lst[4] # 5
y = lst[lst[4]] # lst[5]
print(y)

【讨论】:

    【解决方案3】:

    这花了我一点时间,但我不得不把它写出来。我是一个视觉学习者。 由内而外解决

    我们要解决的代码:

    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 个索引中。

    【讨论】:

      猜你喜欢
      • 2017-02-08
      • 1970-01-01
      • 2019-11-02
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2020-11-21
      相关资源
      最近更新 更多