Usuwanue wszystkich pól o takich samych wartościach w słowniku.

0

Mam np taki słownik:

d = {'a':'abc','b':'xxx', ... , 'z':'xxx')}

Jak usunąć wszystkie pola o wartościach 'xxx' pozostawiając jedno.

0
def transpose(d):
    return {v:k for k,v in d.items()}

transpose(transpose(d))

Albo:

def remove_duplicate_values(d):
    unique_dict = {}
    for k,v in d.items():
        if v not in unique_dict.values():
            unique_dict[k] = v
    return unique_dict
0

A jakby to była lista

d = [{'a':'abc'},{'b':'xxx'), ... , {'z':'xxx')]
0
xenix33 napisał(a):

A jakby to była lista

d = [{'a':'abc'},{'b':'xxx'}, ... , {'z':'xxx'}]
0

Hej,
może jakoś tak:

list({list(x.values())[0]:x for x in d}.values())
0

To nic nie daje. Zrobiłem to tak i działa:

                out = []
                for i in d:
                    if str(i['url']).strip() not in str(out):
                                 out.append(i)

1 użytkowników online, w tym zalogowanych: 0, gości: 1