2017-02-22 109 views
-2

我试图追加一个使用迭代列表,但我不断收到错误。问题是我需要使用迭代将数据附加到列表中多次指定的时间。TypeError(“ - 不支持的操作数类型(s) - =:'列表'和'int'”,),

下面是代码:

def replicate_iter(times, data): 
    result = [] 
    while times > 0: 
     result.append(data) 
     times -= 1 
    return result 
+4

对replicate_iter的调用看起来像什么?它看起来像你正在传递一个列表,而不是一个int为“times”参数 –

+0

我正在使用一个测试驱动开发....根据你的解释,这意味着有一个测试来检查我的代码是否可以处理传递的错误值 – Nix

回答

0

也许你正在通过时间为list,而不是int

def replicate_iter(times, data): 
    result = [] 
    while times > 0: 
     result.append(data) 
     times -= 1 
    return result 

你可能想要做这样的事情。

>>> times=2 
>>> data=[10] 
>>> replicate_iter(times,data) 
[[10], [10]] 
1

我不知道你为什么使其复杂。只要使用此:

answer = [data]*times 
+0

这将帮助我 – Nix

+0

没有问题.... - –

相关问题