37,719
社区成员
发帖
与我相关
我的任务
分享
>>> vec = [[1,2,3], [4,5,6], [7,8,9]]
>>> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
vec = [[1,2,3], [4,5,6], [7,8,9]]
print([num for elem in vec for num in elem])
xulie = [x for x in range(1,10)]
print(xulie)
# 打印1,2,3,4,5,6,7,8,9
print([num for num in vec])
# 打印[1,2,3],[4,5,6],[7,8,9]
# 根据这两个打印的结果,再去分析print([num for elem in vec for num in elem])这段代码。
# 那连续的两个for循环。
# 第一步,执行for elem in vec :这样,就将vec里面的三个子序列分布提取了出来。
# 提取出来第一个elem == [1,2,3]后。(非是等号,表述下意思)
# 第二部,程序执行大概就相当于num for num in elem,而此时的elem为[1,2,3]
# 这个时候,1,2,3三个参数就被提取了出来。
# 紧接着,就提取4,5,6和7,8,9 ,最后再将这9个数字都放在新的序列里面。
# 就组成了[1,2,3,4,5,6,7,8,9]
# python里面的变量都不需要进行定义的,大部分好像都是在直接使用。
# 在给变量进行赋值之后,也会顺便确定变量的类型。这和其他的语言有些不同。
>>> vec = [[1,2,3], [4,5,6], [7,8,9]]
>>> sum(vec,[])
[1, 2, 3, 4, 5, 6, 7, 8, 9]