我需要創建一個函數,該函數可以接受元組和列表。例如: 如果元組的列表是[(2,5),(8,9),(11,19),(22,43),(47,50)]
,並且數量爲14時,它應該返回18. 這樣做的原因是,在13號在列表2,3,4,5,8,9,11,12,13,14,15,16,17,18,19...
是18,如果包括的所有數字:來自不同元組的元素總和
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18.
我現在有:
def converting(tuples,index):
values = [] #I will get [(2,3,4,5,6),(8,9),(11,12,13,14,15,16,17,18,19),(22,..,43),(47,48,49,50)]
for tuple in tuples:
tupleValues = range(tuple[0], tuple[1]+1)
values.extend(tupleValues) #ex(2,3,4,5,6)
if index <= len(values): #If 14 in the example is lower than len of the list, eg 42
return values[index-1] #return value of 14-1, which is 16?
print converting(14,[(2,5),(8,9),(11,19),(22,43),(47,50)])
當我打印此我得到的消息: 在元組的元組: 類型錯誤:「詮釋」對象不是可迭代
我不明白你的問題.. – 2012-01-10 13:32:19
你能否更清楚地解釋你的問題/問題?你真的想做什麼? – 2012-01-10 13:32:20
你能解釋一下你是如何得到'2,3,4,5,8,9 ...'列表嗎?你有沒有使用元組列表來構造它? – Kevin 2012-01-10 13:33:26