Boo*_*d16 8 python dictionary key-value
如何从值中获取密钥?
我的字典:
countries = {
"Normal UK project" : "1",
"UK Omnibus project" : "1-Omni",
"Nordic project" : ["11","12","13","14"],
"German project" : "21",
"French project" : "31"
}
Run Code Online (Sandbox Code Playgroud)
我的半功能代码:
for k, v in countries.items():
if "1" in v:
print k
Run Code Online (Sandbox Code Playgroud)
预期产量:
Normal UK project
Run Code Online (Sandbox Code Playgroud)
实际产量:
French project
UK Omnibus project
German project
Normal UK project
Run Code Online (Sandbox Code Playgroud)
我该如何修复我的代码?
问题是字典中的值的类型不同,使得使用字典变得更加困难,不仅仅是在这种情况下.虽然Python允许这样做,但你真的应该考虑统一字典中的类型,例如将它们全部列出.您只需一行代码即可完成此操作:
countries = {key: val if isinstance(val, list) else [val]
for key, val in countries.items()}
Run Code Online (Sandbox Code Playgroud)
现在,每个单个字符串都包含在一个列表中,您现有的代码将正常工作.
或者,如果您必须在其当前表单中使用字典,则可以调整查找功能:
for k, v in countries.items():
if "1" == v or isinstance(v, list) and "1" in v:
print k
Run Code Online (Sandbox Code Playgroud)
小智 6
c={}- 任何字典
a(值) - 需要知道这个键
key=list(c.keys())[list(c.values()).index(a)]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56547 次 |
| 最近记录: |