Rezolvat: redenumiți duplicatele în lista Python

Redenumirea duplicatelor dintr-o listă poate fi o problemă dificil de rezolvat, deoarece necesită să identificați duplicatele și apoi să decideți cum să le redenumiți. Acest lucru poate fi deosebit de provocator dacă lista conține multe elemente sau dacă elementele sunt obiecte complexe. În plus, redenumirea duplicatelor poate necesita să modificați alte părți ale codului care se bazează pe numele originale ale elementelor pentru ca acestea să continue să funcționeze corect.

def rename_duplicates(lst): 
    seen = set() 
    new_lst = [] 

    for item in lst: 
        if item not in seen: 
            seen.add(item) 
            new_lst.append(item) 
        else: 
            new_item = item + '_1'   # append a suffix to make it unique  

            while new_item in seen:   # increment the suffix until it's unique  
                suffix = int(new_item.split('_')[-1]) + 1   # get the last number and add one to it  
                new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), suffix)

            seen.add(new_item)     # add the newly created item to the set of seen items  
            new_lst.append(new_item)     # append the newly created item to the list

    return new

_lst

# Acest cod definește o funcție numită rename_duplicates care preia o listă ca argument.
def rename_duplicates(lst):

# Apoi creează un set gol numit seen și o listă goală numită new_lst.
văzut = set ()
new_lst = []

# Apoi iterează prin elementele din listă și verifică dacă acestea sunt deja în setul de articole văzute.
pentru elementul din lst:
dacă elementul nu este văzut: # Dacă nu este, îl adaugă la setul de articole văzute și îl adaugă la noua listă.
seen.add(articol)
new_lst.append(item) # Dacă este, creează o versiune unică a acelui articol adăugând un sufix (de exemplu, „_1”) la numele său și verifică dacă acest articol nou creat este deja în setul de articole văzute.

else: # Dacă da, incrementează sufixul până când găsește o versiune nefolosită a acelui nume de articol și adaugă acest element nou creat atât la setul de articole văzute, cât și la noua listă înainte de a returna această nouă listă la sfârșitul execuției sale.

element_nou = articol + „_1”

în timp ce elementul_nou este văzut: # incrementa sufixul până la unic

sufix = int(new_item.split('_')[-1]) + 1 # obține ultimul număr și adaugă unul la el

new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), sufix)

văzut.adăugați(nou

Liste în Python

Listele în Python sunt una dintre cele mai frecvent utilizate structuri de date. Sunt folosite pentru a stoca o colecție de articole, care pot fi de orice tip, inclusiv alte liste. Listele sunt modificabile, ceea ce înseamnă că pot fi modificate după ce au fost create. Ele acceptă, de asemenea, operațiuni precum indexarea, tăierea și concatenarea.

Pentru a crea o listă în Python, utilizați paranteze pătrate și separați fiecare element cu o virgulă:

lista_mea = [1, 2, 3]

Puteți accesa elementele individuale din listă folosind indexul acestora:
my_list[0] # returnează 1
my_list[1] # returnează 2
my_list[2] # returnează 3

De asemenea, puteți utiliza indici negativi pentru a accesa elemente de la sfârșitul listei:

lista_mea[-1] # returnează 3 (ultimul element)

Puteți adăuga elemente la o listă folosind metoda append():

my_list.append(4) # adaugă 4 la sfârșitul listei

Puteți elimina articole dintr-o listă folosind fie metodele remove() fie pop():

my_list.remove(3) # elimină 3 din listă

my_list.pop(2) # elimină și returnează 2 (al treilea element) din listă

Redenumiți duplicatele din listă în Python

Redenumirea duplicatelor din listă în Python este o sarcină comună atunci când aveți de-a face cu liste. Aceasta implică înlocuirea elementelor duplicate dintr-o listă cu valori unice. Acest lucru se poate face folosind funcția set(), care elimină toate elementele duplicate dintr-o listă și returnează o listă nouă cu doar elemente unice. Funcția set() poate fi folosită și pentru a redenumi duplicatele, oferindu-i o mapare a valorilor vechi cu valori noi. De exemplu, dacă aveți o listă de numere și doriți să înlocuiți toate duplicatele cu pătratele respective, puteți utiliza următorul cod:

# Creați un dicționar gol
mapare = {}

# Repetați lista originală
pentru articolul din lista_mea:
# Verificați dacă elementul există deja în dicționar
dacă elementul nu este în mapare:
# Dacă nu, adăugați-l în dicționar și atribuiți-i pătratul ca valoare
mapping[item] = element * item

# Creați o listă de rezultate goală
list_rezultat = []

# Repetați din nou lista originală și înlocuiți fiecare element cu pătratul său din dicționar pentru i din lista_mea: list_result.append(mapping[i])

# Imprimați rezultatul print(result_list)

Postări asemănatoare:

Lăsați un comentariu