print ( [ 2 ∗ [ k ] for k in range ( 3 ) ] [ 2 ] [ 1 ] )
这是代码,它说答案是2,有人能向我解释一下吗?我不明白代码到底要求什么,也不知道它是如何得到 2 作为答案的,我假设它与迭代有关,但我并没有真正完全理解它。一般来说,我对列表有很多困难,这是练习考试和真实考试中的一个问题,我想理解它
最佳答案
for k in range(3)
将设置k
至0
,然后1
,然后2
。那么2*[k]
将创建一个包含两个元素的列表,其中每个元素都是 k
的当前值。列表理解后的结果相当于 [ [0,0], [1,1], [2,2] ][2][1]
自 [2]
列表理解之后将访问列表的第三个元素(索引 2 处的列表),以及 [1]
将访问子列表的第二个元素,结果是 2
0 1 2 <-- first level indices
[ [0,0], [1,1], [2,2] ]
^--- this is the item you get
0 1 0 1 0 1 <-- second level indices
关于python - 解释一下这行代码(列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168930/