【发布时间】:2020-08-18 11:51:41
【问题描述】:
我只是想出了一行和常规 for 循环之间的区别。
举个例子;
obs = [6, 12, 8, 10, 20 16]
freq = [5, 4, 3, 2, 1, 5]
data = []
data.extend(obs[i:i+1] * freq[i] for i in range(len(obs)))
输出
[[6, 6, 6, 6, 6], [12, 12, 12, 12], [8, 8, 8], [10, 10], [20], [16, 16, 16, 16, 16]]
然而,
for i in range(len(obs)):
data.extend(obs[i:i+1] * freq[i])
输出
[6, 6, 6, 6, 6, 12, 12, 12, 12, 8, 8, 8, 10, 10, 20, 16, 16, 16, 16, 16]
谁能解释一下是什么原因造成的?
【问题讨论】:
标签: python-3.x list for-loop