list = [[7 for i in range(5,8)] for i in range(4,7)]
print(list)
输出结果是
[[7, 7, 7], [7, 7, 7], [7, 7, 7]]
我看教程中for i in range(5,8)应该是由5,6,7依次赋值给i 但是为什么list最后会变成三行三列的7,能否请大佬给小白解释一下。谢谢!
list = [[7 for i in range(5,8)] for i in range(4,7)]
print(list)
输出结果是
[[7, 7, 7], [7, 7, 7], [7, 7, 7]]
我看教程中for i in range(5,8)应该是由5,6,7依次赋值给i 但是为什么list最后会变成三行三列的7,能否请大佬给小白解释一下。谢谢!
从上面的图片中得出的结果就是和你上面一样,
从上面的图片中得出的结果就是你所说的5,6,7,
从而我们可以分析出,list是用[]表示的列表,第一个语句[7 for i in range(5,8)]表示子列表中生成3个数,三个数都为7,即生成了[7,7,7]这样的列表,然后将这个列表再次作为一个初始值,我们用list1 = [7,7,7]来表示;接下来就是第二个列表语句:[list1 for i in range(4,7)],如同第一个语句,同样生成三个数的列表,也就是最终结果:[[7,7,7],[7,7,7],[7,7,7]],其实那个range(5,8)和range(4,7)数字没有什么关系。