私の質問は、私はlist=['hello',1,2,3,4,'goodbye','help']
を持っており、結果はあなたがそれらの要素をフィルタリングするisinstance
を使用する必要がlist=[1,2,3,4]
どのようにリストからすべての文字列を排除する
5
A
答えて
9
する場合、たとえば、リストからすべての文字列を排除する方法であります文字列です。また、あなたの変数list
それはどちらかlist
>>> from numbers import Real
>>> lst = ['hello', 1, 2, 3, 4, 'goodbye', 'help']
>>> [element for element in lst if isinstance(element, Real)]
[1, 2, 3, 4]
または
>>> [element for element in lst if isinstance(element, int)]
[1, 2, 3, 4]
または
>>> [element for element in lst if not isinstance(element, str)]
[1, 2, 3, 4]
1
に建てられた影@ user3100115として、リストの内包表記を使用するか、「Lispのを使用するに名前を付けていません/ラムダアプローチ "
>> l = [1, 2, 'a', 'b']
>> list(filter(lambda a: isinstance(a, int), l))
[1, 2]
ところで、変数にはlist
という名前を付けないでください。これはすでにPython関数です。 :)
2
あなたはisinstance
を使用していることを行うことができますが、私はあなたがの代わりに、ホワイトリストのみ数種類をしたくないブラックリストの種類を希望user3100115することにより、他の答えとは違って。あなたの特別なケースにはどちらが適しているのかはわかりません。輸入なしでも動作します。代わりに、リスト内包の
lst = ['hello', 1, 2, 3, 4, 'goodbye', 'help']
filtered = [element for element in lst if not isinstance(element, str)]
print(filtered)
# [1, 2, 3, 4]
、あなたもfilter
組み込みを使用することができます。それはジェネレータを返すので、直接出力するには、まずそれをリストに変換する必要があります。しかし、繰り返し実行する場合(例:for
-loopを使用)、それを変換しないでください。遅い評価のためにメモリが消費される速度が速くなります。大括弧を丸括弧で置き換えた場合、上記の例でも同じ結果が得られます。あなたは `filter`を使用するには、` lambda`が必要な場合は
lst = ['hello', 1, 2, 3, 4, 'goodbye', 'help']
filtered = list(filter(lambda element: not isinstance(element, str), lst))
print(filtered)
# [1, 2, 3, 4]
関連する問題
- 1. オブジェクトのリストから列を排除
- 2. 文字列のリストからすべてのエスケープシーケンスを削除するには?
- 3. Pythonの文字列は、文字列のリストにいくつかの文字列を排除しようとしているときに
- 4. リスト内の文字列から文字を削除するにはどうすればよいですか?
- 5. 他の文字列リストにある文字列をリストから削除する
- 6. 文字列と文字列をすべて文字列から削除する
- 7. Javaの文字列から特定の文字を除くすべての文字を削除するにはどうすればよいですか?
- 8. は重複している文字列を排除し、唯一の私は、配列の文字列からすべての重複している文字列を排除し、その1つの文字列のみを保存しようとしていた文字列配列
- 9. 他の文字列リストから文字列を検索して削除する
- 10. リスト内の各文字列の最後の2文字を除くすべての文字を削除する
- 11. Pythonリストから文字列内の単語をすべて削除します
- 12. HTML文字列からすべてのスペースを削除する
- 13. URLからすべてのクエリ文字列を削除する
- 14. 文字列からN番目の文字をすべて削除/削除
- 15. Golang - 文字列からすべてのUnicode改行文字を削除する
- 16. Javaの文字列からすべての文法を削除するには
- 17. 類似の文字列をリストから削除するにはどうすればよいですか?
- 18. Python:文字列のリストから文字列の一部を削除する
- 19. 文字列から絵文字をすべて削除するには -
- 20. ロギングをどのように排除するのですか?
- 21. どのように文字列から非ASCII文字を削除 - #
- 22. Python文字列からスペースやダッシュを除くすべての特殊文字を削除するにはどうすればよいですか?
- 23. ハスケルの文字列からすべての絵文字を削除します
- 24. Chai.js - 文字列にリストの部分文字列が含まれているかどうかを調べる
- 25. どのように隠れたユニコード文字でドームから空白を排除しますか?
- 26. Pythonどのように文字列のリストから文字列をマイナスしますか?
- 27. 部分文字列を文字列から削除するにはどうすればよいですか?
- 28. ハスケルの文字列からどのようにアクセントを削除しますか?
- 29. C++の文字列から文字を削除するにはどうすればよいですか?
- 30. スクリプト内の文字列から非文字を削除するにはどうすればよいですか?
、その後、listcompまたはgenexprは常に速くなるだろうと同じように簡潔な(反復されている変数の短い名前を仮定した場合)。それらを動作させるために 'lambda 'が必要な場合は' map'/'filter'を使わないでください。 – ShadowRanger
私はリストの理解度に関する答えが1つしかなかったので、この "lisp"アプローチを完全性のために追加しました。私はそれが遅かったのを知らなかった。ありがとう! –