第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在列表中找到副本并使用它們創(chuàng)建另一個列表?

如何在列表中找到副本并使用它們創(chuàng)建另一個列表?

開滿天機 2019-06-20 16:42:11
如何在列表中找到副本并使用它們創(chuàng)建另一個列表?如何在Python列表中找到副本并創(chuàng)建另一個副本列表?列表只包含整數(shù)。
查看完整描述

3 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗 獲得超4個贊

刪除重復(fù)使用set(a)..要打印副本,如下所示:

a = [1,2,3,2,1,5,6,5,5,5]import collectionsprint [item for item, count in collections.Counter(a).items() if count > 1]## [1, 2, 5]

請注意Counter不是特別有效(計時)而且可能會在這里過度殺戮。set會表現(xiàn)得更好。此代碼按源順序計算唯一元素的列表:

seen = set()uniq = []for x in a:
    if x not in seen:
        uniq.append(x)
        seen.add(x)

或者,更簡單地說:

seen = set()uniq = [x for x in a if x not in seen and not seen.add(x)]

我不推薦后一種風(fēng)格,因為不明顯的是not seen.add(x)正在做(套裝)add()方法總是返回None,因此需要not).

若要計算沒有庫的重復(fù)元素列表,請執(zhí)行以下操作:

seen = {}dupes = []for x in a:
    if x not in seen:
        seen[x] = 1
    else:
        if seen[x] == 1:
            dupes.append(x)
        seen[x] += 1

如果列表元素不可接受,則不能使用SET/DECTS,而必須使用二次時間解決方案(將每一項與每一項進(jìn)行比較)。例如:

a = [[1], [2], [3], [1], [5], [3]]no_dupes = [x for n, x in enumerate(a) if x not in a[:n]]print no_dupes # [[1], [2], [3], [5]]
dupes = [x for n, x in enumerate(a) if x in a[:n]]print dupes # [[1], [3]]


查看完整回答
反對 回復(fù) 2019-06-20
?
MM們

TA貢獻(xiàn)1886條經(jīng)驗 獲得超2個贊

>>> l = [1,2,3,4,4,5,5,6,1]>>> set([x for x in l if l.count(x) > 1])set([1, 4, 5])


查看完整回答
反對 回復(fù) 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 635 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號