私はリスト['GBP', 31, 'PIT', 25, ['Football]]
を持っていると言いますが、すべての整数が7より小さく、すべてのリストが文字列'Football'
に変換されるように修正したいと思います。私は本当にどのようにリスト内のすべての項目をスキャンし、その型を決定し、対応する変更を行うようにpythonを許可するか分からない。使用isinstance()
がリストの中身を複数の種類に変更するにはどうすればいいですか?
答えて
...私は
for x in the_list:
if type(x) == ......:
x = .....
のようなものを試してみましたが、それは実際に動作しません:
the_list = ['GBP', 31, 'PIT', 25, ['Football']]
for i, x in enumerate(the_list):
if isinstance(x, list):
the_list[i] = 'Football'
elif isinstance(x, int):
the_list[i] = x -7
the_list
['GBP', 24, 'PIT', 18, 'Football']
を一般的なケースでは、あなたはタイプのための変換辞書を定義することができます。
d = {
int:lambda x: x-7,
list:lambda x: x[0]
}
my_list = ['GBP', 31, 'PIT', 25, ['Football']]
new_list = [d.get(type(item), lambda x: x)(item) for item in my_list]
print(new_list) # ['GBP', 24, 'PIT', 18, 'Football']
このアプローチでは、柔軟にコンバージョンを構成し、コンパクトに保つことができます。
しかし、このアプローチは、サブクラスをサポートする柔軟性を失います。 – SethMMorton
リストに他のタイプのデータ(タプル、セットなど)が含まれているとどうなりますか...私はそれらのアイテム(辞書にリストされていないタイプ)を同じままにしたいと思います....あなたが提案したコードこの状況では実際には動作しません... –
@PeterJiang、タプル、セットなどのためのコードは、あなたが記述したとおりに正確に動作します - これらのアイテムは同じままです - 'd.get(type(item)、lambda x: x) '部分はそのような振る舞いを保証します。ところで、文字列 '' GBP''と '' PIT''のために用意されている例では動作することがわかります。他の場合は簡単に確認できます。 – MaximTitarenko
- 1. (Javascript)複数の種類のオブジェクトをすばやくコーディングするにはどうすればよいですか?
- 2. ハイブテーブルの色相で列の種類を変更するにはどうすればよいですか?
- 3. レルム - 複数の種類のオブジェクトでフィードを作成するにはどうすればよいですか?
- 4. Excelで凡例の種類を変更するにはどうすればよいですか?
- 5. MS Wordでページ番号の種類を変更するにはどうすればよいですか?
- 6. リンクの種類を変更するにはどうすればよいですか?
- 7. PrinterDialogの使用中に用紙の種類を設定するにはどうすればよいですか?
- 8. 正しい種類のリストを返すにはどうすればいいですか?
- 9. 形状ファイルの種類をポリラインからポリゴンに変換するにはどうすればよいですか?
- 10. エリクシール:これはどのような種類のリストですか?
- 11. 関数内で2種類のパラメータを使用するにはどうすればよいですか?
- 12. 混乱行列に2種類のティックラベルを入れるにはどうすればいいですか?
- 13. Pythonで実行中にスレッドに変数の変更を渡すにはどうすればよいですか?
- 14. タートルの品種を変更するリンクを作成するにはどうすればいいですか?
- 15. TabControlに追加されるアイテムの種類を特定するにはどうすればよいですか?
- 16. ディレクトリ内のすべてのスクリプトの種類を調べるにはどうすればいいですか?
- 17. dplyrを使用して複数の変数を変更するにはどうすればよいですか?
- 18. image.writeを呼び出さずに画像の種類を変更するにはどうすればいいですか?(TIFFからJPGなど)
- 19. Pythonで変数に格納されているデータの種類を確認するにはどうすればいいですか?
- 20. XMLでTextViewのテキストに2種類の色を設定するにはどうすればよいですか?
- 21. 関数を使って変数を変更した後に、リスト(リスト)を更新したリストで更新するにはどうすればよいですか?
- 22. アンドロイドで2種類の異なるカスタムインフォウインドウを持つ2種類のマーカーを作成するにはどうすればいいですか?
- 23. Drupal 7の分類用語IDを名前に変更するにはどうすればいいですか
- 24. ファイルの種類を変更せずにファイル名を変更するにはどうすればよいですか?
- 25. GitHub wikiで何らかの種類のコンテンツテーブルを作成するにはどうすればよいですか?
- 26. Twigを使ってグループの種類を表示するにはどうすればいいですか?
- 27. VIsual Basicでは、2つのオブジェクトの種類を比較するにはどうすればよいですか?
- 28. 既に作成済みの式を変更するにはどうすればよいですか?私は種類のクラス次いる
- 29. カスタムアカウントの種類をAndroidの連絡先アプリに表示するにはどうすればよいですか?
- 30. UIImageViewサブクラスに「viewDidLoad」の種類のメソッドを追加するにはどうすればよいですか?
['Football]は[' Football ']にする必要があります –
あなたの質問のコードは役に立ちません。この記事を見てください: –
また、コメントに修正を投稿するのではなく、直接あなたの質問を修正できるはずです –