-3
我有一個列表傳遞列表的每個元素作爲參數傳遞給函數
try_list = ["[('aaaa', 34), ('bbbb', 1), ('cccc', 1)]", "[('dddd', 4), ('eeee', 1)]"]
內「中的每個條目」是一個列表的元素。
當我說
for i in try_list:
print i
我得到的各個元素,
[('aaaa', 34), ('bbbb', 1), ('cccc', 1)]
[('dddd', 4), ('eeee', 1)]
但是,如果我嘗試每一個人傳遞給函數(比如FUNC)作爲
for i in try_list:
item = func(i)
我收到一個錯誤。
如果我用每個元素逐個測試函數func,它可以正常工作,所以func很好。所以錯誤在於一次一個地傳遞列表作爲參數。這樣做的正確方法是什麼?
這裏是FUNC:
def func(my_list):
ans = []
for i,name in enumerate(my_list):
print name[0],name[1]
ans.append(name)
return ans
如果我說
func([('aaaa', 34), ('bbbb', 1), ('cccc', 1)])
我得到正確的輸出
aaaa 34
bbbb 1
cccc 1
[('aaaa', 34), ('bbbb', 1), ('cccc', 1)]
但如果我說
for i in try_list:
item = func(i)
我得到的錯誤
回溯(最後最近一次調用): 文件 「」,2號線,在 文件 「」,4號線,在FUNC IndexError:字符串索引超出範圍
這需要[mcve]。什麼是'func'?你得到的錯誤是什麼?什麼是你正在運行的確切代碼。 –
我已經用完整的代碼更新了我的查詢,這給出了麻煩 – Ssank