Men*_*yck 6 dictionary items pylint python-3.x
我正在浏览一本字典以删除另一本字典中的一些值。但是, 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"
}
}
Run Code Online (Sandbox Code Playgroud)
实际上我是这样浏览它们的:
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]
Run Code Online (Sandbox Code Playgroud)
我怎样才能用 items() 做同样的事情?感谢您的帮助
pylint 警告您可以itemsToDelete[package]通过使用items字典的方法来避免冗余表达式。
所以试试这个:
for package, package_items in itemsToDelete.items():
for page, package_item in package_items.items():
for item in package_item:
if item in contents[package][page]:
del contents[package][page][item]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9633 次 |
| 最近记录: |