新聞中心
1.案例要求

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),東寧網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東寧等地區(qū)。東寧做網(wǎng)站價(jià)格咨詢:18982081108
""" 有列表:["a","a","a","b","b","c","d","d","f"], 要求去除重復(fù)的列表數(shù)據(jù),達(dá)到效果["a","b","c","d","f"] """
2.案例分析:
(1)集合可以去重,列表轉(zhuǎn)為集合,再轉(zhuǎn)回列表。隱患:集合無(wú)序,索引會(huì)變。
(2)第一步:引入一個(gè)臨時(shí)空列表,遍歷元素列表,如果元素不在臨時(shí)列表,就加到臨時(shí)列表,如果臨時(shí)列表已經(jīng)有該元素,則不做操作。最后打印新列表即為去重后的數(shù)據(jù)。
# 方法一:利用集合去重,不推薦,因?yàn)轫樞驎?huì)亂 list1 = ["a","a","a","b","b","c","d","d","f"] list1 = list(set(list1)) # 先將list1轉(zhuǎn)化為set集合去重,再將集合轉(zhuǎn)化為列表 print(list1) # 方法二:定義臨時(shí)空列表,遍歷原始列表,保存不重復(fù)的元素,最后打印臨時(shí)列表。 list2 = ["a","a","a","b","b","c","d","d","f"] temp_list = [] # 定義一個(gè)臨時(shí)空列表,用于保存臨時(shí)數(shù)據(jù)。 for i in list2: # 遍歷原列表,判斷如果元素不在臨時(shí)列表,就追加進(jìn)去,如果在,就不加。 if i not in temp_list: temp_list.append(i) print(temp_list) # 方法三:雙重循環(huán),外層循環(huán)遍歷列表,內(nèi)存循環(huán)控制刪除重復(fù)元素的次數(shù)。如果元素個(gè)數(shù)統(tǒng)計(jì)大于1,則執(zhí)行刪除。 list3 = ["a","a","a","b","b","c","d","d","f"] list3.reverse() # 先反轉(zhuǎn)列表,從后往前刪 for i in list3: # 外層循環(huán)控制每次需要判定的元素 for _ in range(list3.count(i)): # 內(nèi)層循環(huán)控制每次執(zhí)行刪除元素的次數(shù),循環(huán)多次就徹底刪除。 if list3.count(i) > 1: list3.remove(i) # 如果該元素個(gè)數(shù)大于1,則執(zhí)行刪除操作 list3.reverse() # 最后再反轉(zhuǎn)列表,保證第一次出現(xiàn)的元素順位保留下來(lái) print(list3)
3.運(yùn)行結(jié)果:
?
4.知識(shí)點(diǎn)歸納:
(1)集合去重的功能。
(2)臨時(shí)列表的引入,可以解決很多實(shí)際的問(wèn)題。
(3)如果有要求,要考慮變換過(guò)后,原列表內(nèi)存地址會(huì)不會(huì)發(fā)生改變,考慮會(huì)不會(huì)占用多余內(nèi)存空間。例如:方法一,順序亂了,而且內(nèi)存地址改變了。方法二,順序沒(méi)亂,但多申請(qǐng)了臨時(shí)變量的內(nèi)存地址。方法三,順序沒(méi)亂,內(nèi)存地址也沒(méi)變。
網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:python對(duì)列表中的元素進(jìn)行去重操作
分享地址:http://www.5511xx.com/article/dposjoj.html


咨詢
建站咨詢
