2017-02-22 117 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

沒有問題.... - –

相關問題