Ukuphinda uthiywe kabini kuluhlu kunokuba yingxaki enzima ukuyisombulula kuba kufuna ukuba uchonge abaphinda-phindwayo emva koko wenze isigqibo sokuba uzithiye njani ngokutsha. Oku kunokuba lucelomngeni ngakumbi ukuba uludwe luqulethe izinto ezininzi okanye ukuba izakhi zizinto ezintsonkothileyo. Ukongeza, ukuphinda-phinda kwakhona kunokufuna ukuba uguqule ezinye iindawo zekhowudi yakho ezixhomekeke kumagama okuqala ezinto ukuze ziqhubeke nokusebenza ngokufanelekileyo.
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 khowudi ichaza umsebenzi obizwa ngokuba yiname_duplicates ethatha kuluhlu njengengxabano.
Def rename_duplicates(lst):
# Emva koko yenza iseti engenanto ebizwa ngokuba yiboni kunye noluhlu olungenanto olubizwa ngokuba yi-new_lst.
iboniwe = cwangcisa()
entsha_lst = []
# Iyaphinda-phinda kwizinto ezikuluhlu kwaye ijonge ukuba sele zikwiseti yezinto eziboniweyo.
yento kwilst:
ukuba umba awubonwa: # Ukuba ayibonwa, yongeza kuluhlu lwezinto eziboniweyo kwaye iyifakele kuluhlu olutsha.
iboniwe.yongeza(into)
new_lst.append(item) # Ukuba yiyo, yenza uguqulelo olulodwa lwaloo nto ngokongeza isimamva (umzekelo, '_1') kwigama layo kwaye ijonga ukuba le nto isanda kwenziwa sele ikuluhlu lwezinto eziboniweyo.
Okunye: # Ukuba kunjalo, inyusa isimamva ide ifumane uguqulelo olungasetyenziswanga lwelo gama lomba kwaye yongeza lomba owenziwe ngokutsha kuzo zombini iiseti yezinto eziboniweyo nakuluhlu olutsha phambi kokubuyisela olu luhlu lutsha ekupheleni kokuphunyezwa kwayo.
new_item = into + '_1'
ngelixa into_entsha ibonwa: # isimamva sonyuso kude kube sodwa
isimamva = int(new_item.split('_')[-1]) + 1 # fumana inani lokugqibela kwaye wongeze elinye kuyo
new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), isimamva)
iboniwe.yongeza(entsha
Uluhlu kwiPython
Uluhlu kwiPython yenye yezona zinto zisetyenziswa ngokuqhelekileyo izakhiwo zedatha. Zisetyenziselwa ukugcina ingqokelela yezinto, ezinokuthi zibe naluphi na uhlobo, kubandakanywa nolunye uluhlu. Uluhlu luyaguquguquka, okuthetha ukuba lunokutshintshwa emva kokuba lwenziwe. Bakwaxhasa imisebenzi efana nesalathisi, ukusika, kunye nokudibanisa.
Ukwenza uluhlu kwiPython, usebenzisa izibiyeli zesikwere kwaye wahlule into nganye ngekoma:
my_list = [1, 2, 3]
Unokufikelela kwizinto ezizimeleyo kuluhlu usebenzisa isalathiso sabo:
my_list[0] # ibuyisela 1
my_list[1] # ibuyisela 2
my_list[2] # ibuyisela 3
Ungasebenzisa kwakhona izalathisi ezingalunganga ukufikelela kwizinto ukusuka ekupheleni koluhlu:
my_list[-1] # ibuyisela 3 (into yokugqibela)
Unokongeza izinto kuluhlu usebenzisa i-append() indlela:
my_list.append(4) # yongeza 4 ukuya ekupheleni koluhlu
Uyakwazi ukususa izinto kuluhlu usebenzisa nokuba ukususa() okanye pop() iindlela:
my_list.remove(3) # isusa 3 kuluhlu
my_list.pop(2) # isusa kwaye ibuyisela i-2 (into yesithathu) kuluhlu
Phinda unike igama kwakhona kuluhlu lwePython
Phinda unike igama kwakhona kuluhlu kwiPython ngumsebenzi oqhelekileyo xa ujongana noluhlu. Ibandakanya ukubuyisela izinto eziphindiweyo kuluhlu olunamaxabiso awodwa. Oku kunokwenziwa ngokusebenzisa i () umsebenzi, osusa zonke izinto eziphindiweyo kuluhlu kwaye ibuyisele uluhlu olutsha olunezinto ezizodwa kuphela. Isethi () umsebenzi unokuphinda usetyenziswe ukuthiya ngokutsha ngokuphinda-phinda ngokunikezela ngemephu yamaxabiso amadala kumaxabiso amatsha. Umzekelo, ukuba unoluhlu lwamanani kwaye ufuna ukubuyisela zonke iimpinda ngezikwere ezihlukeneyo, ungasebenzisa le khowudi ilandelayo:
# Yenza isichazi-magama esingenanto
imephu = {}
# Phinda kwakhona kuluhlu lokuqala
into ekuluhlu_lwam:
# Jonga ukuba into sele ikhona na kwisichazi-magama
ukuba into ayikho kwimaphu:
# Ukuba akunjalo, yongeze kwisichazi-magama kwaye yabele isikwere sayo njengexabiso
imephu[into] = into * into
# Yenza uluhlu lweziphumo ezingenanto
result_list = []
# Phinda kwakhona kuluhlu loqobo kwakhona kwaye ubeke indawo nganye ngesikweri sayo kwisichazi-magama se-i kuluhlu_ lwam: result_list.append(mapping[i])
# Shicilela iziphumo zoshicilelo (uluhlu_lweziphumo)