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

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

list中每一個元素是否是中list中其他元素的子元素?

list中每一個元素是否是中list中其他元素的子元素?

眼眸繁星 2019-01-31 11:07:48
已知一個list,求這個list中每一個元素是否是其他元素的子元素,如果是,則刪除這個元素.list = ['GH', 'ACDB', 'AB', 'ABCFE', 'ABDCFE', 'ACFE', 'ABCD', 'ABD', 'ACBD', 'ACD', 'FCBA', 'FCDBA', 'FCA', 'FC', 'BACF', 'BCF', 'BDCF', 'BACFE', 'BCFE', 'BDCFE', 'BACD', 'BCD', 'BD', 'CBA', 'CDBA', 'CA', 'CAB', 'CDB', 'CB', 'EF', 'EFC', 'EFCABD', 'EFCBD', 'EFCD', 'DBACF', 'DBCF', 'DCF', 'DBAC', 'DBC', 'DC']如上段代碼,最后list應該剩下的元素是list=['ABDCFE','GH']
查看完整描述

2 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

def get_without_proper_sub_element(s):

    def is_proper_sub_element(i):

        for j in s:

            if set(i).issubset(set(j)) and set(i) != set(j):

                return True

        return False

    return [i for i in s if not is_proper_sub_element(i)]


print(get_without_proper_sub_element(s))

結果是:

['GH', 'ABDCFE', 'EFCABD']

這里面的后面兩個'ABDCFE'和'EFCABD'根據現有描述是都要保留的, 除非要求按順序只保留第一個.


查看完整回答
反對 回復 2019-03-13
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

你這里子元素的定義是什么,是不管順序,只要任意一個字符相同就算,還是字符順序也一致?
不管哪種定義,你給出的結果都是錯的

lst = ['GH', 'ACDB', 'AB', 'ABCFE', 'ABDCFE', 'ACFE', 'ABCD', 'ABD', 'ACBD', 'ACD', 'FCBA', 'FCDBA', 'FCA', 'FC', 'BACF', 'BCF', 'BDCF', 'BACFE', 'BCFE', 'BDCFE', 'BACD', 'BCD', 'BD', 'CBA', 'CDBA', 'CA', 'CAB', 'CDB', 'CB', 'EF', 'EFC', 'EFCABD', 'EFCBD', 'EFCD', 'DBACF', 'DBCF', 'DCF', 'DBAC', 'DBC', 'DC']


#只要任意一個字符相同

lst1 = []

for i, x in enumerate(lst):

    index = i

    for y in lst:

        if x != y and len(set(x).intersection(set(y))) == len(x):

            index = -1

            break


    if index != -1:

        lst1.append(x)


print lst1


#字符相同且順序一致

lst1 = []

for i, x in enumerate(lst):

    index = i

    for y in lst:

        if x != y and x in y:

            index = -1

            break


    if index != -1:

        lst1.append(x)


print lst1


查看完整回答
反對 回復 2019-03-13
  • 2 回答
  • 0 關注
  • 572 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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