【发布时间】:2020-06-11 14:38:10
【问题描述】:
在从字符串 (str) 中找到与列表 (list) 中的任何元素匹配后,我正在尝试从字典 (dict) 中打印 'x' 的值。
>>> dict = {'c3750': 'switch', 'vsrx': 'vfirewall'}
>>> list = ['c3750', 'vsrx']
>>> str = "Juniper Networks, Inc. firefly-perimeter internet router, kernel JUNOS 12.1X47-D15.4 #0: 2014-11-12 02:13:59 UTC builder@chamuth.juniper.net:/volume/build/junos/12.1/service/12.1X47-D15.4/obj-i386/junos/bsd/kernels/VSRX/kernel Build date: 2014-11-12 "
>>> if any(x in str.lower() for x in list):
... print "{}".format(dict['x'])
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
KeyError: 'x'
预期结果:它应该返回“vfirewall”。
【问题讨论】:
-
您是否有意覆盖所有可能的内置插件?最好避免这种情况
-
我不明白你的意思?如果您有解决办法,请说明一下吗?
-
否定:NameError: name 'x' is not defined
-
您应该为此使用显式循环
标签: python list dictionary if-statement search