私はリストを持っています。リストの元の順序を変更せずに、リスト内の他の文字列の部分文字列である文字列を削除しますか?
the_list = ['Donald Trump has', 'Donald Trump has small fingers', 'What is going on?']
、それは他のリスト要素の部分文字列ですので、私はthe_list
から「ドナルド・トランプが持っている」削除したいです。
ここは重要な部分です。私は元のリストの順序を逸らすことなくこれをしたい。
私が持っている機能(下記)は元のリストの順序を歪ませます。これは、最初に長さでリスト項目をソートするためです。
def substr_sieve(list_of_strings):
dups_removed = list_of_strings[:]
for i in xrange(len(list_of_strings)):
list_of_strings.sort(key = lambda s: len(s))
j=0
j=i+1
while j <= len(list_of_strings)-1:
if list_of_strings[i] in list_of_strings[j]:
try:
dups_removed.remove(list_of_strings[i])
except:
pass
j+=1
return dups_removed
ソートするリストの2番目のコピーを作成してみませんか? – jonrsharpe
@jonrsharpe私はすでにdups_removedのコピーを作っています。私はあなたに従っていないと思う。どのように役立つだろうか? – Aaron
あなたはDivide And Conquer Paradigm – Nishant