【发布时间】:2020-08-27 00:16:24
【问题描述】:
我有两个列表,我正在尝试根据它们出现的次数创建多个数字副本。
numbers = [0, 1, 2]
amount = [1, 2, 3]
我试过了:
total = []
n = 0
for i in range(len(numbers)):
product = numbers[n] * amount[n]
n += 1
total.extend(product)
但我得到了错误:
TypeError: 'int' object is not iterable.
我的预期输出是:
total = [0, 1, 1, 2, 2, 2]
【问题讨论】:
-
将
total.extend(product)更改为total.append(product)这将修复您的类型错误,但代码在逻辑上存在缺陷,因此您不会得到预期的结果。 -
当你可以使用
i——循环的变量时,你为什么还要维护n? -
@Rashid'Lee'Ibrahim 您建议的修复将使代码具有有缺陷的逻辑...... OP 的代码只是缺少两个括号以使其按预期工作,我不会说他的逻辑有缺陷
标签: python python-3.x