3 回答

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
[dict(t) for t in {tuple(d.items()) for d in l}]
set
set(tuple(d.items()) for d in l)
dict
.
l
是原始列表 d
是列表中的字典之一。 t
是從字典中創(chuàng)建的元組之一。
set
l = [{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}, {'a': 123, 'b': 1234}]seen = set()new_l = []for d in l: t = tuple(d.items()) if t not in seen: seen.add(t) new_l.append(d)print new_l
[{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}]
d.items()

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
>>> d = [{'a': 123}, {'b': 123}, {'a': 123}]>>> [i for n, i in enumerate(d) if i not in d[n + 1:]][{'b': 123}, {'a': 123}]
dict
n
enumerate
).

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
a = [{'a': 123}, {'b': 123}, {'a': 123}]b = []for i in range(0, len(a)): if a[i] not in a[i+1:]: b.append(a[i])
添加回答
舉報(bào)