私は異なる種類のデータ(文字列、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. リストの各要素を別のリストの各要素と比較する方法は?
- 3. R:リスト内の各要素の最後のサブ要素にアクセス
- 4. タイプ別のxsd要素名
- 5. foreachは各要素を次の要素に連結します
- 6. リストの要素でフィルタリングするパターン?
- 7. PHP SimpleXMLグループ別要素タイプ
- 8. Ionic 2各リスト要素ボタンの別のページにプッシュ
- 9. リストから要素をフィルタリングする
- 10. 別の要素の上にdiv要素を配置します
- 11. 動的要素リストのフォーム要素を有効にします
- 12. リスト内の各要素とR内の別の要素の間に適用ファミリを使用する
- 13. 要素は既に別の要素の子要素です - PivotItems
- 14. 各要素を別々にドラッグ
- 15. 各要素の機能を別々に実行しますか?
- 16. リストの各インデックスの0,1要素を列挙します。
- 17. jQueryの - 各要素
- 18. は、各要素
- 19. 各文字をリスト要素に変換しますか?
- 20. 各要素(LI)の最初の要素(A)にクラスを適用しますか?
- 21. リストの各シーケンスでの要素の出現を数えます。
- 22. JavaScriptの文字で始まるリスト要素をフィルタリングする
- 23. Aerospikeのリスト要素の個別のTTL
- 24. 要素を別の要素に追加した後のJqueryダブルクリックイベント
- 25. クリックした要素のコンテンツを別の要素に配置
- 26. 要素のリストを作成し、各要素を科学的表記で作成します。
- 27. Python - リスト要素をマージして別のリストに要素として追加する
- 28. リストの各要素をRの別の行に書き込む方法は?
- 29. リストの各要素を任意の時間に複製する
- 30. 各リストの特定の要素を印刷するには
使用 'for'ループと'でisinstance(要素、整数) 'など – furas
そして、あなたがしようとする場合があります'フィルタメソッドまたはリストの理解 –