Yakagadziriswa: rename duplicates mune runyorwa python

Kupazve mazita akapetwa mune runyorwa kunogona kuve dambudziko rakaoma kugadzirisa nekuti zvinoda kuti iwe uone zvakapetwa uye wozofunga kuti ungavatumidza sei. Izvi zvinogona kunyanya kunetsa kana rondedzero yacho iine zvinhu zvakawanda kana kuti zvinhu zvakaoma kunzwisisa. Pamusoro pezvo, kutumidza mazita akadzokororwa kungada kuti ugadzirise zvimwe zvikamu zvekodhi yako zvinotsamira pamazita ekutanga ezvinhu kuitira kuti varambe vachishanda nemazvo.

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

# Iyi kodhi inotsanangura basa rinonzi rename_duplicates rinotora mune rondedzero sekupokana.
def rename_duplicates(lst):

# Inobva yagadzira isina chinhu seti inonzi inoonekwa uye isina chinhu chinyorwa chinonzi new_lst.
kuona = set()
new_lst = []

# Inobva yadzokorodza kuburikidza nezvinhu zviri murondedzero uye inotarisa kana dzatove museti yezvinhu zvakaonekwa.
zvechinhu mulst:
kana chinhu chisiri kuonekwa: # Kana chisiri, chinochiwedzera kune seti yezvinhu zvakaonekwa uye chinochiwedzera kune runyorwa rutsva.
seen.add(chinhu)
new_lst.append(item) # Kana iriyo, inogadzira imwe shanduro yakasiyana yechinhu ichocho nekuwedzera suffix (semuenzaniso, '_1') kuzita racho uye inotarisa kana chinhu chitsva ichi chatova museti yezvinhu zvakaonekwa.

zvimwe: # Kana zvakadaro, inowedzera suffix kusvikira yawana shanduro isina kushandiswa yezita rechinhu ichocho uye inowedzera ichi chinhu chitsva chakasikwa kune zvose seti yezvinhu zvakaonekwa uye kune runyorwa rutsva isati yadzorera iyi runyoro rutsva pakupera kwekuita kwayo.

new_item = chinhu + '_1'

nepo new_item ichionekwa: # increment suffix kusvika yakasarudzika

suffix = int(new_item.split('_')[-1]) + 1 # wana nhamba yekupedzisira uye wedzera imwe kwairi

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

seen.add(itsva

Zvinyorwa muPython

Rondedzero muPython ndeimwe yeanonyanya kushandiswa data zvimiro. Izvo zvinoshandiswa kuchengetedza muunganidzwa wezvinhu, izvo zvinogona kuva zvemhando ipi neipi, kusanganisira mamwe mazita. Rondedzero inoshanduka, zvichireva kuti inogona kushandurwa mushure mekunge yagadzirwa. Ivo zvakare vanotsigira mashandiro akaita se indexing, slicing, uye concatenation.

Kugadzira runyorwa muPython, unoshandisa masikweya mabhureki uye unoparadzanisa chinhu chimwe nechimwe necomma:

my_list = [1, 2, 3]

Iwe unogona kuwana zvinhu zvega murunyorwa uchishandisa index yavo:
my_list[0] # inodzosa 1
my_list[1] # inodzosa 2
my_list[2] # inodzosa 3

Iwe unogona zvakare kushandisa ma indices asina kunaka kuwana zvinhu kubva kumagumo echinyorwa:

my_list[-1] # inodzosa 3 (chinhu chekupedzisira)

Iwe unogona kuwedzera zvinhu pane rondedzero uchishandisa iyo append() nzira:

my_list.append(4) # inowedzera 4 kusvika kumagumo echinyorwa

Unogona kubvisa zvinhu kubva pane rondedzero uchishandisa bvisa () kana pop () nzira:

my_list.remove(3) # inobvisa 3 kubva pakurongwa

my_list.pop(2) # inobvisa uye inodzosa 2 (chinhu chechitatu) kubva pakurongwa

Rename zvakapetwa mune runyorwa muPython

Rename duplicates mune rondedzero muPython ibasa rakajairika kana uchibata nemazita. Zvinosanganisira kutsiva zvinhu zvakapetwa murunyorwa zvine maukoshi akasiyana. Izvi zvinogona kuitwa uchishandisa set() basa, iro rinobvisa zvese zvakapetwa zvinhu kubva pane rondedzero uye kudzosa runyoro rutsva rune zvinhu zvakasarudzika. Iyo set () basa rinogona zvakare kushandiswa kutumidza zita rakapetwa nekupa iyo mepu yemaitiro ekare kune hutsva hutsika. Semuyenzaniso, kana uine runyorwa rwenhamba uye uchida kutsiva zvese zvakapetwa nemasikweya azvo, unogona kushandisa kodhi inotevera:

# Gadzira duramanzwi risina chinhu
mepu = {}

# Iterate pamusoro peiyo yekutanga runyorwa
chechinhu chiri mu_list:
# Tarisa kana chinhu chiripo muduramazwi
kana chinhu chisiri mumepu:
# Kana zvisiri, wedzera kune duramazwi uye ugovane sikweya yayo sekukosha
mepu[chinhu] = chinhu * chinhu

# Gadzira rondedzero isina chinhu yemhedzisiro
result_list = []

# Dzokorora pamusoro pekutanga runyorwa zvakare uye tsiva chinhu chimwe nechimwe nechikwere kubva muduramazwi re ini mune yangu_list: result_list.append(mapping[i])

# Dhinda mhedzisiro inodhinda (mhedzisiro_list)

Related posts:

Leave a Comment