[英]Removing key values pairs from a list of dictionaries
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從鍵等於 mykey1 的所有字典中刪除所有鍵值對。 我可以通過循環並使用 del 語句來做到這一點,但我想知道如何使用列表推導或 lambdas 創建一個新列表,它只會刪除鍵為 mykey1 的所有鍵值對。
非常感謝
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從所有鍵等於mykey1的字典中刪除所有鍵值對。 我可以通過遍歷並使用del語句來做到這一點,但我想知道如何使用列表推導或lambda創建一個新列表,該列表將刪除鍵為mykey1的所有鍵值對。
非常感謝
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從所有鍵等於mykey1的字典中刪除所有鍵值對。 我可以通過遍歷並使用del語句來做到這一點,但我想知道如何使用列表推導或lambda創建一個新列表,該列表將刪除鍵為mykey1的所有鍵值對。
非常感謝
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從所有鍵等於mykey1的字典中刪除所有鍵值對。 我可以通過遍歷並使用del語句來做到這一點,但我想知道如何使用列表推導或lambda創建一個新列表,該列表將刪除鍵為mykey1的所有鍵值對。
非常感謝
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從所有鍵等於mykey1的字典中刪除所有鍵值對。 我可以通過遍歷並使用del語句來做到這一點,但我想知道如何使用列表推導或lambda創建一個新列表,該列表將刪除鍵為mykey1的所有鍵值對。
非常感謝
我有一個字典列表,例如:
[{'mykey1':'myvalue1', 'mykey2':'myvalue2'}, {'mykey1':'myvalue1a', 'mykey2':'myvalue2a'}]
我需要從所有鍵等於mykey1的字典中刪除所有鍵值對。 我可以通過遍歷並使用del語句來做到這一點,但我想知道如何使用列表推導或lambda創建一個新列表,該列表將刪除鍵為mykey1的所有鍵值對。
非常感謝
有一個單行列表理解很好,但性能可能不如 del 操作。 在下面查看我的測試結果:
%%timeit
dl = [
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2}
]
dl1 = [{key: value for key, value in d.items() if key != 'foo'} for d in dl]
每個循環 2.78 µs ± 62.7 ns(平均值 ± 標准偏差。7 次運行,每次 100,000 次循環)
%%timeit
dl = [
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2},
{"foo": 1, "bar": 2}
]
for row in dl:
del row['foo']
每個循環 640 ns ± 13.7 ns(平均值 ± 標准偏差。7 次運行,每次 1,000,000 次循環)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.