我正在瀏覽一本字典以洗掉另一本字典中的一些值。但是,pylint 不喜歡我的代碼并建議我使用 .items() 方法。我發現了這種方法,但我不明白如何獲得相同的結果。
我的字典是這樣的:
itemsToDelete = {
1: {
"page1": "item1",
"page1": "item2",
"page1": "item3"
},
2: {
"page3": "item1",
"page3": "item2",
"page3": "item3"
},
3: {
"page5": "item1",
"page5": "item2",
"page5": "item3"
}
}
contents = {
1: {
"page1": "item1",
"page1": "item2",
"page1": "item3",
"page1": "item4",
"page1": "item5"
},
2: {
"page3": "item1",
"page3": "item2",
"page3": "item3"
},
3: {
"page5": "item1",
"page5": "item2",
"page5": "item3"
}
}
實際上我是這樣瀏覽它們的:
for package in itemsToDelete:
for page in itemsToDelete[package]:
for item in itemsToDelete[package][page]:
if item in contents[package][page]:
del contents[package][page][item]
我怎么能用 items() 做同樣的事情?感謝您的幫助
uj5u.com熱心網友回復:
pylint 警告您可以itemsToDelete[package]使用items字典的方法避免冗余運算式。
所以試試這個:
for package, package_items in itemsToDelete.items():
for page in package_items:
for item in package_items[page]:
if item in contents[package][page]:
del contents[package][page][item]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331639.html
