我有一個程序,其中有一個名稱和類的列表。我按字母順序排列名單。現在即時通訊嘗試檢查名稱是否重複,將類添加到單個名稱。檢查二維列表中的重複字符串
我嘗試寫這樣
一些代碼經過的名字,如果名稱已在列表中的類添加到一個名稱。這樣的例子是,而不必
['Anita','phys 1443'], ['Anita','IE 3312']
我只想有
['Anita','PHYS 1443','IE 3312']
我將如何去在logival的方式這樣做,而沒有使用任何的內置函數?我試圖比較指數,如
if list[i][0] == list[i+1][0]
將list[i+1][1]
附加到emptylist。雖然這幾乎奏效,但它會在某些方面出現問題。這是我的嘗試
size = len(c)
i = 0
c = [['Anita', 'PHYS 1443'], ['Anita', 'IE 3312'], ['Beihuang', 'PHYS 1443'], ['Chiao-Lin', 'MATH 1426'], ['Chiao-Lin', 'IE 3312'], ['Christopher', 'CSE 1310'], ['Dylan', 'CSE 1320'], ['Edmund', 'PHYS 1443'], ['Ian', 'IE 3301'], ['Ian', 'CSE 1320'], ['Ian', 'PHYS 1443'], ['Isis', 'PHYS 1443'], ['Jonathan', 'MATH 2325'], ['Krishna', 'MATH 2325'], ['Michael', 'IE 3301'], ['Nang', 'MATH 2325'], ['Ram', 'CSE 1320'], ['Taesu', 'CSE 1320'], ["Tre'Shaun", 'IE 3312'], ["Tre'Shaun", 'MATH 2325'], ["Tre'Shaun", 'CSE 1310']]
## Check if any names repeat
d.append(c[0][0])
while i < size - 1 :
if c[i][0] == c[i+1][0] :
d.append(c[i][1])
d.append(c[i+1][1])
else :
d.append(c[i+1][0])
d.append(c[i+1][1])
i = i + 1
print d
輸出是。
['Anita', 'PHYS 1443', 'IE 3312', 'Beihuang', 'PHYS 1443', 'Chiao-Lin', 'MATH 1426', 'MATH 1426', 'IE 3312', 'Christopher', 'CSE 1310', 'Dylan', 'CSE 1320', 'Edmund', 'PHYS 1443', 'Ian', 'IE 3301', 'IE 3301', 'CSE 1320', 'CSE 1320', 'PHYS 1443', 'Isis', 'PHYS 1443', 'Jonathan', 'MATH 2325', 'Krishna', 'MATH 2325', 'Michael', 'IE 3301', 'Nang', 'MATH 2325', 'Ram', 'CSE 1320', 'Taesu', 'CSE 1320', "Tre'Shaun", 'IE 3312', 'IE 3312', 'MATH 2325', 'MATH 2325', 'CSE 1310']
什麼是期望的輸出? – Christian