簡體   English   中英

從字典列表中刪除鍵值對

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM