Kuxazululiwe: qamba kabusha izimpinda ohlwini lwe-python

Ukuqamba kabusha izimpinda ohlwini kungaba inkinga enzima ukuyixazulula ngoba kudinga ukuthi ukhombe izimpinda bese unquma ukuthi uziqamba kanjani kabusha. Lokhu kungaba inselele ikakhulukazi uma uhlu luqukethe izakhi eziningi noma uma izakhi ziyizinto eziyinkimbinkimbi. Ukwengeza, ukuqamba kabusha izimpinda kungase kudinge ukuthi uguqule ezinye izingxenye zekhodi yakho ezithembele emagameni oqobo wezakhi ukuze ziqhubeke nokusebenza kahle.

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

# Le khodi ichaza umsebenzi obizwa ngokuthi rename_duplicates othatha uhlu njengokuphikisana.
def rename_duplicates(lst):

# Ibe isidala isethi engenalutho ebizwa ngokuthi ibonwe kanye nohlu olungenalutho olubizwa ngokuthi new_lst.
bonwa = set()
new_lst = []

# Ibese iphindaphinda ezintweni ezisohlwini bese ibheka ukuthi sezikhona yini kusethi yezinto eziboniwe.
kwento ku-lst:
uma into ingabonakali: # Uma ingabonakali, iyayengeza kusethi yezinto eziboniwe futhi iyifake ohlwini olusha.
okuboniwe.engeza(into)
new_lst.append(into) # Uma kunjalo, idala inguqulo ehlukile yaleyo nto ngokwengeza isijobelelo (isb, '_1') egameni layo futhi ihlole ukuthi le nto esanda kwakhiwa isivele ikusethi yezinto eziboniwe.

okunye: # Uma kunjalo, inyusa isijobelelo ize ithole inguqulo engasetshenziswanga yalelo gama futhi yengeza le nto esanda kwakhiwa kukho kokubili isethi yezinto eziboniwe nakuhlu olusha ngaphambi kokubuyisela lolu hlu olusha ekupheleni kokusetshenziswa kwalo.

new_item = into + '_1'

kuyilapho kubonwa into_entsha: # isijobelelo sokunyuka kuze kube siyingqayizivele

isijobelelo = int(new_item.split('_')[-1]) + 1 # thola inombolo yokugcina bese wengeza eyodwa kuyo

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

eboniwe.engeza(okusha

Uhlu ku-Python

Uhlu kuPython lungolunye lwezakhiwo zedatha ezisetshenziswa kakhulu. Zisetshenziselwa ukugcina iqoqo lezinto, ezingaba yinoma yiluphi uhlobo, kuhlanganise nolunye uhlu. Uhlu luyaguquleka, okusho ukuthi lungashintshwa ngemuva kokuthi ludaliwe. Baphinde basekele imisebenzi efana nokukhomba, ukusika, nokuhlanganisa.

Ukwakha uhlu ku-Python, usebenzisa amabakaki ayisikwele futhi uhlukanise into ngayinye ngokhefana:

my_list = [1, 2, 3]

Ungafinyelela izici ngazinye ohlwini usebenzisa inkomba yazo:
my_list[0] # ibuyisela 1
my_list[1] # ibuyisela 2
my_list[2] # ibuyisela 3

Ungasebenzisa futhi izinkomba ezingezinhle ukuze ufinyelele izici kusukela ekugcineni kohlu:

my_list[-1] # ibuyisela 3 (into yokugcina)

Ungakwazi ukwengeza izinto ohlwini usebenzisa indlela ye-append():

my_list.append(4) # ingeza 4 ekupheleni kohlu

Ungasusa izinto ohlwini usebenzisa izindlela zokususa () noma ze-pop():

my_list.remove(3) # ikhipha 3 ohlwini

my_list.pop(2) # ikhipha futhi ibuyisele 2 (into yesithathu) ohlwini

Qamba kabusha izimpinda ohlwini kuPython

Ukuqamba kabusha izimpinda ohlwini kuPython kuwumsebenzi ovamile lapho usebenza nezinhlu. Kuhilela ukushintsha izinto eziyimpinda ohlwini olunamanani ahlukile. Lokhu kungenziwa kusetshenziswa umsebenzi we-set(), osusa zonke izici eziyimpinda ohlwini futhi ubuyisele uhlu olusha olunezici ezihlukile kuphela. Umsebenzi we-set() ungase futhi usetshenziselwe ukuqamba kabusha izimpinda ngokuwunikeza umdwebo wamanani amadala kumanani amasha. Isibonelo, uma unohlu lwezinombolo futhi ufuna ukufaka izikwele endaweni yazo zonke izimpinda, ungasebenzisa ikhodi elandelayo:

# Dala isichazamazwi esingenalutho
imephu = {}

# Phinda wenze uhlu lwangempela
kwento esohlwini_lwami:
# Bheka ukuthi into isivele ikhona yini kusichazamazwi
uma into ingekho kumephu:
# Uma kungenjalo, yengeze kusichazamazwi bese wabela isikwele saso njengevelu
imephu[into] = into * into

# Dala uhlu lwemiphumela olungenalutho
result_list = []

# Phinda ubhale ohlwini lwangempela futhi bese ubuyisela ingxenye ngayinye ngesikwele sayo kusichazamazwi se-i ohlwini_lwami: result_list.append(mapping[i])

# Phrinta umphumela wokuphrinta(uhlu_lomphumela)

Okuthunyelwe okuhlobene:

Shiya amazwana