python - 解释一下这行代码(列表)

标签 python

print ( [ 2 ∗ [ k ] for k in range ( 3 ) ] [ 2 ] [ 1 ] )

这是代码,它说答案是2,有人能向我解释一下吗?我不明白代码到底要求什么,也不知道它是如何得到 2 作为答案的,我假设它与迭代有关,但我并没有真正完全理解它。一般来说,我对列表有很多困难,这是练习考试和真实考试中的一个问题,我想理解它

最佳答案

for k in range(3)将设置k0 ,然后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/

相关文章:

python - 如何对排行榜中的分数进行排序?

python - 解释冒泡排序算法?

python - 为什么Python2.7将caffe模型转换为Apple的mlmodel时会崩溃

python - 从spyder在GPU上实现python代码

具有固定 .keys() 内容和可变参数的 Python 字典

python - 我可以在打印语句中包含一个 for 循环吗?

python - dict.setdefault() 如何统计字符数?

python - IntelliJ IDEA : Define the environment variable DJANGO_SETTINGS_MODULE

python - 如何使用 numpy 有效地按值展开矩阵?

python - 将天数添加到数据框中的日期