切片嵌套列表。说明

时间:2019-02-06 12:19:57

标签: python list

x = [1,[2,[3,4],5],6]
print(x[1][1][1])

您能向我解释一下,为什么结果是4

4 个答案:

答案 0 :(得分:2)

由于索引基于0

x = [1,[2,[3,4],5],6]

# The element placed on 1 of [1,[2,[3,4],5],6] i.e. [2, [3, 4], 5]
print(x[1])  

# The element placed on 1 of [2, [3, 4], 5] i.e.  [3, 4]
print(x[1][1]) 

# The element placed on 1 of [3, 4] i.e. 4
print(x[1][1][1]) 

输出:

[2, [3, 4], 5]
[3, 4]
4

答案 1 :(得分:0)

O(log n)

x = [1,[2,[3,4],5],6]的作用是:

采用第二个元素:

x[1][1][1]

该列表中的第二个元素:

[2,[3,4],5]

第二个元素

[3,4]

所以这很合理。

这是第二个而不是第一个元素,因为python中的列表是从0开始计算的。

答案 2 :(得分:0)

x = [1,[2,[3,4],5],6]

x[1] = [2,[3,4],5]

x[1][1] = [3,4]

x[1][1][1] = 4

请记住,您从0开始索引。所以x[0] = 1x[1] = the entire nested list

还请记住,嵌套列表被检测为单个实体。在这种情况下, x包含3个元素,分别是1[2,[3,4],5]6。现在,第二个元素的索引位置为1,还包含3个元素,分别为2[3,4]5。嵌套循环[3,4]也是如此。

答案 3 :(得分:0)

x = [1,[2,[3,4],5],6]
当您将

视为基于索引时,实际上如下所示:

InnerList-2 Index->       0 1
InnerList-1 Index->    0 1     2
OuterList Index->   0 1           2
x =                [1,[2,[3,4],5],6]

所以,这意味着:

x[1] ->    [2,[3,4],5]
x[1][1] -> [3,4]
x[1][1] -> 4