私は異なる種類のデータ(文字列、intなど)を持つリストを持っています。私は、たとえば、int要素だけを含む新しいリストと、文字列要素だけを持つ別のリストを作成する必要があります。どうやってするの?リストの要素を各要素のタイプ別にフィルタリングします
答えて
あなたはlist comprehensionでこれを達成することができます:
data
がデータである
integers = [elm for elm in data if isinstance(elm, int)]
。上記のことは、新しいリストを作成し、if
の後の条件を満たす、要素がint
のインスタンスであるかどうかをチェックする、data
(elm
)の要素で構成します。またfilter
を使用することができます。
integers = list(filter(lambda elm: isinstance(elm, int), data))
上記以外のすべての整数をフィルター通過したラムダ、に基づいて要素を除外します。その後、文字列にも適用することができます。isinstance(elm, str)
を使用して、文字列のインスタンスがあるかどうかを確認します。
素晴らしい、ありがとう! –
@IlyaSpark助けてくれてありがとうございます。 – Li357
ソートタイプ別にリストした後、グループにgroupby
を使用して:
>>> import itertools
>>> l = ['a', 1, 2, 'b', 'e', 9.2, 'l']
>>> l.sort(key=lambda x: str(type(x)))
>>> lists = [list(v) for k,v in itertools.groupby(l, lambda x: str(type(x)))]
>>> lists
[[9.2], [1, 2], ['a', 'b', 'e', 'l']]
OPはサブリストのない別々のリストを望んでいるようですが、それにもかかわらずすばらしい答えです! – Li357
@AndrewL。 - 彼らはまだ別々です。彼らは手作りのラベルを持っていないだけです。しかし、それは簡単に代わりに辞書を使って達成することができます。 'list = {k:list(v)for k、v itertools.groupby(l、lambda x:str(type(x)))}'で指定します。もちろん、名前が自動的に生成され、簡単に整理できるという利点があります。 – TigerhawkT3
- 1. リストの各要素にlispの別のリストの各要素を掛けて
- 2. 複数のリストの各要素を1つの要素にマージし、java 8の別のリストを返します
- 3. リストの各要素を別のリストの各要素と比較する方法は?
- 4. R:リスト内の各要素の最後のサブ要素にアクセス
- 5. タイプ別のxsd要素名
- 6. リストの各要素に適用する
- 7. foreachは各要素を次の要素に連結します
- 8. 要素のフィルタリング
- 9. リストの要素でフィルタリングするパターン?
- 10. PHP SimpleXMLグループ別要素タイプ
- 11. Ionic 2各リスト要素ボタンの別のページにプッシュ
- 12. リストから要素をフィルタリングする
- 13. 要素が別の要素
- 14. 別の要素の上にdiv要素を配置します
- 15. 動的要素リストのフォーム要素を有効にします
- 16. 要素は既に別の要素の子要素です - PivotItems
- 17. リスト内の各要素とR内の別の要素の間に適用ファミリを使用する
- 18. 各要素の1つの要素から別の要素に属性を設定する
- 19. 各要素を別々にドラッグ
- 20. 各要素の機能を別々に実行しますか?
- 21. 別のリストからの各値を使用して、Pythonリストのルックアップ要素
- 22. リストの各インデックスの0,1要素を列挙します。
- 23. jQueryの - 各要素
- 24. XML DTDエラーメッセージ:要素タイプの宣言に要素タイプが必要です
- 25. 各要素内のLaravelコレクションオブジェクトに新しい要素を追加します。
- 26. は、各要素
- 27. 各文字をリスト要素に変換しますか?
- 28. 各要素(LI)の最初の要素(A)にクラスを適用しますか?
- 29. リストの各シーケンスでの要素の出現を数えます。
- 30. Aerospikeのリスト要素の個別のTTL
使用 'for'ループと'でisinstance(要素、整数) 'など – furas
そして、あなたがしようとする場合があります'フィルタメソッドまたはリストの理解 –