亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在列表中查找重復項,但是在第一次出現時忽略它?

如何在列表中查找重復項,但是在第一次出現時忽略它?

守候你守候我 2021-03-29 21:10:10
我得到了一個40個單詞的清單,這些清單是我從txt文件中提取出來的。我找到了重復項,并用相同的單詞替換了它們,然后在前后添加了“ *”。代碼如下:def show(self, list1):    a = [x for x in list1 if list1.count(x) > 1]    lista2 = ["*"+s+"*" if s in a else s for s in list1]    print(lista2)輸入:> ['utanf?r', 'd?rren', 'stod', 'en', 'man', 'och', 'lyssnade', 'intensivt', 'i', 'den', 'm?rka', 'korridoren', 'han', 'hade', 'skuggat', 'digby', 'groat', 'hela', 'eftermiddagen', 'och', 'f?ljt', 'efter', 'honom', 'in', 'i', 'huset', 'n?r', 'han', 'fick', 'h?ra', 'ljudet', 'av', 'fotsteg', 'fr?n', 'rummet', 'sm?g', 'han', 'sig', 'in', 'i'] 輸出:> ['utanf?r', 'd?rren', 'stod', 'en', 'man', '*och*', 'lyssnade', 'intensivt', '*i*', 'den', 'm?rka', 'korridoren', '*han*', 'hade', 'skuggat', 'digby', 'groat', 'hela', 'eftermiddagen', '*och*', 'f?ljt', 'efter', 'honom', '*in*', '*i*', 'huset', 'n?r', '*han*', 'fick', 'h?ra', 'ljudet', 'av', 'fotsteg', 'fr?n', 'rummet', 'sm?g', '*han*', 'sig', '*in*', '*i*']請注意,重復項在*前后都有。TL:DR我希望第一個重復項被忽略,其余的都用*前后突出顯示。
查看完整描述

3 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

def show(self, list1):

    new_list, seen = [], set()

    for x in list1:

        if x in seen:

            new_list.append('*{0}*'.format(x))

        else:

            new_list.append(x)

            seen.add(x)

    print new_list


查看完整回答
反對 回復 2021-04-02
  • 3 回答
  • 0 關注
  • 202 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號