文字列のリストから特定の文字列を含む要素を削除する

Profy

私は次のようなリストを作成するプログラムを持っています:

["abc a","hello","abc","hello z"]

私の目標はリスト内を移動することであり、要素が文字列の1つに含まれている場合は、文字列を削除します

最初の反復:

abc a can't be found in any other element

["abc a","hello","abc","hello z"]

二つ目:

hello is present in element 4:

["abc a","hello","abc"]

三つ目:

abc can be found in element one:

["hello","abc"]

filter()関数を使用しようとしましたが成功しませんでした

すべての要素を関数に渡してほしい唯一の問題は、リストサイズが小さくなっていることです。したがって、これは、処理方法がわからない別の問題です。

ありがとうございました

Jean-Francois Fabre

1つのアプローチは次のとおりです。

  • 単語のセットのリストを作成します(単語をスペースで分割することにより)
  • 最初に最小の要素でリストを並べ替えます
  • 新しいセットを追加するときに単語を繰り返さないようにしながら、リストを再構築します

このような:

lst = ["abc a","hello","abc","hello z"]

words = sorted([set(x.split()) for x in lst],key=len)

result = []
for l in words:
    if not result or all(l.isdisjoint(x) for x in result):
        result.append(l)

print(result)

セットのリストを出力します。

[{'hello'}, {'abc'}]

このアプローチでは単語の順序が失われますが、単語の区切り文字に問題はありません。部分文字列アプローチは次のようになります。

lst = ["abc a","hello","abc","hello z"]

words = sorted(lst,key=len)

result = []
for l in words:
    if not result or all(x not in l for x in result):
        result.append(l)

print(result)

プリント:

['abc', 'hello']

(このアプローチは単語の区切り文字で問題になる可能性がありallますが、splitこれを回避するために条件をそこに簡単に適合させることができます)。次のような条件の例:

if not result or all(set(x.split()).isdisjoint(l.split()) for x in result):

向きを変えるだろう:

lst = ["abc a","hello","abc","abcd","hello z"]

['abc', 'abcd', 'hello']

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特定の文字を含むリストから要素を削除する

分類Dev

特定のキーワードを含むリストから複数の文字列要素を削除する

分類Dev

FASTERリストから特定の単語を含む文字列を削除する方法

分類Dev

特定の文字列を含むネストされたリストからアイテムを削除する

分類Dev

特定の文字列を含むリスト要素全体を削除します

分類Dev

Pythonは、他のリストの部分文字列を含むリストから要素を削除します

分類Dev

リストからの文字を含む文字列内の文字の削除

分類Dev

パンダで特定の文字列のリストを含む行を削除する

分類Dev

同じタイプのすべての文字を含む配列リストから要素を削除します

分類Dev

特定の文字を含む単語をリストから削除する

分類Dev

SQL合体文字列から空のリスト要素を削除する

分類Dev

リストの要素から文字列を削除する-Python

分類Dev

python特定の式を含む文字列から特定の行を削除する

分類Dev

特定の文字列を含む行の先頭からテキスト全体を削除する方法

分類Dev

Rの特定の文字を含む文字列ベクトルからエントリを削除します

分類Dev

リストのすべての要素の文字列から文字を削除する

分類Dev

特定の文字列キーワードを含む配列から要素を削除する

分類Dev

リストから特定の文字列を削除する方法

分類Dev

文字列のリストから空の文字列を削除する

分類Dev

辞書からリスト上の特定の文字列を検索し、mongodbでその文字列を含むすべての要素を返す方法は?

分類Dev

特定の文字列を含む多次元配列から要素をフィルタリングする

分類Dev

特定の文字を含む配列リスト内のすべての文字列を削除します

分類Dev

リストから要素の特定の文字を削除する

分類Dev

文字列ベクトル内の空の文字「」を含む要素を削除する

分類Dev

filter()を使用して、文字列と数字を含むリストからすべての文字列を削除するにはどうすればよいですか?

分類Dev

文字列の配列から指定された文字を含む文字列のリストを取得します

分類Dev

列内の文字列を検索し、その文字列を含む行全体を削除するVBAスクリプト?

分類Dev

すでに文字列に1つの要素を追加した後、リストから特定の文字を削除します

分類Dev

正規表現:文字列から特定の文字を含むを含むすべての要素を抽出します

Related 関連記事

  1. 1

    特定の文字を含むリストから要素を削除する

  2. 2

    特定のキーワードを含むリストから複数の文字列要素を削除する

  3. 3

    FASTERリストから特定の単語を含む文字列を削除する方法

  4. 4

    特定の文字列を含むネストされたリストからアイテムを削除する

  5. 5

    特定の文字列を含むリスト要素全体を削除します

  6. 6

    Pythonは、他のリストの部分文字列を含むリストから要素を削除します

  7. 7

    リストからの文字を含む文字列内の文字の削除

  8. 8

    パンダで特定の文字列のリストを含む行を削除する

  9. 9

    同じタイプのすべての文字を含む配列リストから要素を削除します

  10. 10

    特定の文字を含む単語をリストから削除する

  11. 11

    SQL合体文字列から空のリスト要素を削除する

  12. 12

    リストの要素から文字列を削除する-Python

  13. 13

    python特定の式を含む文字列から特定の行を削除する

  14. 14

    特定の文字列を含む行の先頭からテキスト全体を削除する方法

  15. 15

    Rの特定の文字を含む文字列ベクトルからエントリを削除します

  16. 16

    リストのすべての要素の文字列から文字を削除する

  17. 17

    特定の文字列キーワードを含む配列から要素を削除する

  18. 18

    リストから特定の文字列を削除する方法

  19. 19

    文字列のリストから空の文字列を削除する

  20. 20

    辞書からリスト上の特定の文字列を検索し、mongodbでその文字列を含むすべての要素を返す方法は?

  21. 21

    特定の文字列を含む多次元配列から要素をフィルタリングする

  22. 22

    特定の文字を含む配列リスト内のすべての文字列を削除します

  23. 23

    リストから要素の特定の文字を削除する

  24. 24

    文字列ベクトル内の空の文字「」を含む要素を削除する

  25. 25

    filter()を使用して、文字列と数字を含むリストからすべての文字列を削除するにはどうすればよいですか?

  26. 26

    文字列の配列から指定された文字を含む文字列のリストを取得します

  27. 27

    列内の文字列を検索し、その文字列を含む行全体を削除するVBAスクリプト?

  28. 28

    すでに文字列に1つの要素を追加した後、リストから特定の文字を削除します

  29. 29

    正規表現:文字列から特定の文字を含むを含むすべての要素を抽出します

ホットタグ

アーカイブ