2016-06-27 26 views
0

如果你有4名名單,並將它們壓縮在Python你列表與4 tuples.For前的列表:如何在Python 2.7中更改列表中元組的重複項?

a=['0','0','2','3','7','6'] 
b=['4','4','4','5','6','7'] 
c=[2,2,3,4,5,5] 
m=['m1','m2','m3','m4','m5','m6'] 
g=(zip(a,b,c,m)) 

g = [('0', '4', 2, 'm1'), ('0', '4', 2, 'm2'), ('2', '4', 3, 'm3'), ('3', '5', 4, 'm4'), ('7', '6', 5, 'm5'), ('6', '7', 5, 'm6')]。 前兩個元素是字符串,第三個元素是數字。第四個元素總是會有所不同。 我需要幫助來找到與g相同的前三個元素的重複項,併爲元組的第三個元素添加一些小的小數以使它們不同。例如:

g=[('0', '4', 2.001, 'm1'), ('0', '4', 2.002, 'm2'), ('2', '4', 3, 'm3'), ('3', '5', 4, 'm4'), ('7', '6', 5.001, 'm5'), ('6', '7', 5.002, 'm6')] 

在此先感謝您。

+0

到目前爲止,你都試過了什麼,你在哪裏卡住? – SuperSaiyan

+0

元組的輸出順序是否重要?或者是唯一的要求,他們最終是唯一的? – mgilson

+0

在技術上''2'!= 2'因此它們是不同的。我沒有看到問題是什麼。 –

回答

0

遍歷列表,並使用enumerate保持指數的關係的軌道,當你發現一個與重複那個指數之更改值:

for i, tup in enumerate(g): 
    if str(tup[2]) in tup[:2]: 
     g[i][2]+=0.01