Найти - Пользователи
Полная версия: как удалить из списка одинаковые члены? Список в списке.
Начало » Python для новичков » как удалить из списка одинаковые члены? Список в списке.
1
gtlhbkkj
можно ли как-то более элегантно, кроме как методом тупого перебора, удалить из списка одинаковые члены?

 spisok = [['77682958', '852126DRGVST40', '77682958'], ['77682958', '852126DRGVST40', '852126DRGVST40'], ['77682958', '852126DRGVST40', '9650013145'], ['77893514', 'H0030RN1016V3,0', '77893514'],
          ['77893514', 'H0030RN1016V3,0', 'H0030RN1016V3,0'], ['77893514', 'H0030RN1016V3,0', 'HY13145'], ['77889504', 'H0240DN2010', '77889504'], ['77889504', 'H0240DN2010', 'H0240DN2010'],
          ['77889504', 'H0240DN2010', 'PR3145'], ['70530525', 'I175RS2010', '70530525'], ['70530525', 'I175RS2010', 'I175RS2010'], ['70530525', 'I175RS2010', '01RS17510VG10BP'],
          ['70530525', 'I175RS2010', '314539'], ['EMPTY', 'I225RS2010', '01RS22510VG10BP'], ['EMPTY', 'I225RS2010', '314540'], ['70583082', 'M0030DH3040', '70583082'], ['70583082', 'M0030DH3040', 'M0030DH3040'],
          ['70583082', 'M0030DH3040', '9650513145'], ['76900740', 'M0045DN2010', '76900740'], ['76900740', 'M0045DN2010', 'M0045DN2010'], ['76900740', 'M0045DN2010', '77680374'],
          ['76900740', 'M0045DN2010', 'Pi3145SMX10\r'], ['76900740', 'M0045DN2010', 'PI3145PS10'], ['76900740', 'M0045DN2010', '76900740'], ['76900740', 'M0045DN2010', 'M0045DN2010'],
          ['76900740', 'M0045DN2010', '183145H10XLE000P\r'], ['76900740', 'M0045DN2010', '183145H10SLE000P'], ['76900740', 'M0045DN2010', '183145H10XLE000M'], ['76900740', 'M0045DN2010', '76900740'],
          ['76900740', 'M0045DN2010', 'M0045DN2010'], ['76900740', 'M0045DN2010', '183145H10XLE000P\r'], ['76900740', 'M0045DN2010', '183145H10SLE000P'], ['76900740', 'M0045DN2010', '183145H10XLE000M'],
          ['76900740', 'M0045DN2010', '76900740'], ['76900740', 'M0045DN2010', 'M0045DN2010'], ['76900740', 'M0045DN2010', '04PI314510VG16EO'], ['76900740', 'M0045DN2010', '301040'],
          ['EMPTY', 'MH131453SP2003', 'LB131453'], ['EMPTY', 'MH13145SP1010', 'WD13145'], ['EMPTY', 'MH13145SP1010', 'DGMH13145'], ['EMPTY', 'MH13145SP10101', 'W13145'], ['EMPTY', 'MH13145SP10101', 'WD131451'],
          ['EMPTY', 'OC234', 'W131453'], ['EMPTY', 'OC289', 'W131456']]
spisok_new = []
for i in spisok:
    x = i[0] + i[1] + i[2]
    y = 0
    for k in spisok_new:
        x1 = k[0] + k[1] + k[2]
        if x == x1:
            y += 1
    if y == 0:
        spisok_new.append(i)    
        
print(spisok)
print()
print(spisok_new)
input()
doza_and
???
 print(set(spisok))
rami
doza_and
???
print(set(spisok))
Ругается на TypeError: unhashable type: ‘list’

тогда:
 print(set(map(tuple, spisok)))
если нужны списки, можно превратить обратно в списки.

или простым перебором:
 spisok_new = []
for i in spisok:
    if i not in spisok_new:
        spisok_new.append(i)
gtlhbkkj
rami
если нужны списки, можно превратить обратно в списки.
спасибо именно то что нужно
а как ТУПЛЕ обратно в список превратить ?
мне списки нужны
rami
 spisok_new = list(map(list, set(map(tuple, spisok))))
gtlhbkkj
rami
spisok_new = list(map(list, set(map(tuple, spisok))))
благодарю вас
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB