Pythonのリストで複数の辞書情報を削除する方法をまとめ

I.はじめに:

Python では、リストから複数の辞書情報を削除する方法がいくつかあります。

  1. リスト内包表記を使用する: 条件判断ステートメントによって削除する必要のない辞書を除外し、新しいリストを形成します。
  2. 関数を使用する filter() : ラムダ式と filter() 関数を組み合わせて、削除する必要のない辞書を除外し、新しいリストを作成します。
  3. キーワードを使用する del : インデックス作成またはスライス操作を通じて、リスト内の複数の辞書を直接削除します。

2. 使用方法:

2.1. リスト内包表記の使用

my_list = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 35},
    {"name": "David", "age": 40}
]

# 删除 age 大于等于 30 的字典
my_list = [item for item in my_list if item["age"] < 30]

print(my_list)

出力は次のとおりです。

[{'name': 'Alice', 'age': 25}]

この例では、リスト内包表記を使用してmy_listリスト内のすべての辞書を走査し、item["age"] < 30条件判断ステートメントによって削除する必要のない辞書を除外し、最終的に新しいリストを取得します。

2.2.filter()機能の使い方

my_list = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 35},
    {"name": "David", "age": 40}
]

# 删除 age 大于等于 30 的字典
my_list = list(filter(lambda item: item["age"] < 30, my_list))

print(my_list)

出力は次のとおりです。

[{'name': 'Alice', 'age': 25}]

この例では、ラムダ式と関数をfilter()組み合わせて使用​​し、削除する必要のない辞書を除外し、結果をリストに変換します。

2.3.delキーワードを使用する

my_list = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 35},
    {"name": "David", "age": 40}
]

# 删除索引为 1 和 3 的字典
del my_list[1]
del my_list[3-1]  # 删除第二个元素后,列表长度减 1

print(my_list)

出力は次のとおりです。

[{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 35}]

この例では、delキーワードを使用して、インデックス操作 を通じてそれぞれインデックス付けされた辞書を削除し12削除されたリストを出力します。要素を削除するとリストの長さが 1 減るため、複数の辞書を削除する場合はインデックスの変更を考慮する必要があることに注意してください。

おすすめ

転載: blog.csdn.net/xun527/article/details/132608314