我需要?jiǎng)?chuàng)建一個(gè)包含來(lái)自另一個(gè)列表的唯一值的新列表,還必須維護(hù)訂單。我的代碼:def unique_elements(a): newlist = [] for i in range(len(a)): if a[i] not in a[i+1:] and a[i-1::-1] : newlist.append(a[i]) return newlist輸出是:unique_elements([1,2,2,3,4,3])[1, 2, 4, 3]我得到了半正確的結(jié)果,沒有保持這個(gè)順序。正確的輸出應(yīng)該是:[1,2,3,4]有人可以讓我知道我哪里出錯(cuò)了。我從其他帖子中得到了這個(gè)解決方案:def unique_elements(a): newlist = [] for i in a: if i not in newlist: newlist.append(i) return newlist另外,我還沒有接觸過(guò) Python 中的 SET。那么有人可以讓我知道我的原始代碼是否可以工作嗎?
1 回答

慕尼黑5688855
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
嘗試這個(gè)
def unique_elements(a):
newlist = []
for i in a:
if i not in newlist:
newlist.append(i)
return newlist
xyz = [1,1,2,4,6,2,2,4,5]
print(unique_elements(xyz))
輸出:
[1, 2, 4, 6, 5]
添加回答
舉報(bào)
0/150
提交
取消