如何解决将字典与作为列表键的元组进行比较
我有一些问题搞清楚这个问题,并希望能得到一些帮助。所以想要的列表进行比较,以字典,下面以一个例子,我想要的唯一输出是“(‘值5’,的 287 下,‘路由器2’):‘项目,项目’}” (我不想( '值5',的 200 下, '路由器2'): '项目,即项目'}
dict1 = {
('value1',287,'router1'): 'item,item',('value2',('value3',200,'router2'): 'item,('value4',item'
('value5',item'
}
lst = [
['value1','router1'],['value2',['value3','router2'],['value4','router2']
['value5','router2']
]
我已看他们一种的溶液通过一个与下面的代码不正是(我只添加了Router_ID与287)。然而,我要解决的是,如果其他键+项目添加到字典中,让我们说“value6,300”和“value7,400”我不应该修改DEF。
router_id = (287,200)
def find_missing_vrfs(librenms_VRF,polled_vrfs,router_id):
data = []
#all_vrfs = polled_vrfs
for number in router_id:
for values in librenms_VRF:
if values[1] == router_id[0]:
data.append(values[0])
polled_vrfs = {k: polled_vrfs[k] for k,v in polled_vrfs.items() if k[1] == router_id[0]}
all_vrfs = polled_vrfs
polled_vrfs = {k: polled_vrfs[k] for k,v in polled_vrfs.items() if k[0] in data and set(data)}
missing_vrfs = set(polled_vrfs.items()) ^ set(all_vrfs.items())
print(missing_vrfs)
find_missing_vrfs(lst,dict1,router_id)
我在想什么是我应该能够在关键的直接比较到列表中,因为它们含有应该加入,但不这样做的价值,任何人有任何想法?
解决方法
答案很简单,只需要做比较list就可以了
polled_vrfs = {k: polled_vrfs[k] for k,v in polled_vrfs.items() if list(k) in librenms_VRF}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。