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

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

如何刪除列表中的重復(fù)數(shù)字(Python)?

如何刪除列表中的重復(fù)數(shù)字(Python)?

SMILET 2023-08-22 18:02:28
我有一個清單:words = ['1,2,3,4',         '5,7,8,4',         '1,2,3,9']我的目標(biāo)是根據(jù)單詞創(chuàng)建一個新列表,但不包含重復(fù)的數(shù)字。這是我想要的一個例子!new_list=[1,2,3,4,5,7,8,9]我做到了 :words = ['1,2,3,4',         '5,7,8,4',         '1,2,3,9']new_list = []for i in words :    if i not in new_list:        new_list.append(i)print(new_list)但我的列表中再次出現(xiàn)相同的數(shù)字:['1,2,3,4', '5,7,8,4', '1,2,3,9']編輯 :我想做同樣的事情,但用真實的語言,比如:[" apple is not good",  "mongo is delicious",  banana is very good"] 我的新名單必須是這些短語中的每一個單詞都是獨一無二的。這是我想要的結(jié)果的示例:["apple,is,not,good,mongo,delicious,banana,very"]正如您所看到的,我只從列表的短語中獲得了唯一的單詞。
查看完整描述

3 回答

?
瀟湘沐

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

words您可以將with模塊的元素組合起來itertools chain,然后使用 set() 方法來消除所有重復(fù)項:


import itertools

words = ['1,2,3,4','5,7,8,4','1,2,3,9']

c = list(set(itertools.chain(words[0].replace(',',''),words[1].replace(',',''),words[2].replace(',',''))))

new_words = [int(x) for x in c]

new_words.sort()

print(new_words)

結(jié)果


[1, 2, 3, 4, 5, 7, 8, 9]

對于更新

import itertools

words = ["apple is not good",  "mongo is delicious",  "banana is very good"] 

new_words = list(set(itertools.chain(words[0].split(' '), words[1].split(' '), words[2].split(' '))))

print(new_words)

結(jié)果


['not', 'mongo', 'is', 'apple', 'good', 'very', 'delicious', 'banana']


查看完整回答
反對 回復(fù) 2023-08-22
?
慕桂英3389331

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

words = ['1,2,3,4',

         '5,7,8,4',

         '1,2,3,9']


new_list = []

for w in words :

    for i in map(int, w.split(',')):

        if i not in new_list:

            new_list.append(i)

print(new_list)

訣竅是從列表中的每個單詞中提取數(shù)字。每個word都是由逗號分隔的一系列數(shù)字。因此,w.split(',')將每個以逗號分隔的數(shù)字字符串拆分為一個列表。該map()函數(shù)將該int()方法應(yīng)用于每個數(shù)字字符串,將其轉(zhuǎn)換為數(shù)值。然后,如果該值尚不存在,則將其添加到 new_list 中。


此解決方案還處理大于 9 的數(shù)字。


另外,舉個例子來幫助理解map:


"1,2,3,4".split(",") --> ["1", "2", "3", "4"]


map(int, ["1", "2", "3", "4"]) --> [1, 2, 3, 4]


查看完整回答
反對 回復(fù) 2023-08-22
?
喵喵時光機

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

You need to use extend,  not append. And also split each line. Convert to "set" to remove duplicate items

words = ['1,2,3,4',

             '5,7,8,4',

             '1,2,3,9']


new_list = []

for i in words :

        new_list.extend(i.split(','))

new_list = list(set(new_list))

new_list.sort()

print(new_list)

或者


保持元素的順序


    words=['apple,banana,orange', 'apple, mango']


    new_list = []

    for i in words :

            new_list.extend(i.split(','))

    result =[]

    for i in new_list:

        if i not in result:

            result.append(i)

    

    print(result)


查看完整回答
反對 回復(fù) 2023-08-22
  • 3 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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