【发布时间】:2016-04-12 16:42:44
【问题描述】:
我的 Python 代码中有一个元组结构,它声明了以下内容:
match_entry = (util.frozendict(rule_match), priority, version)
当我打印 match_entry 时,我看到以下内容:
print match_entry
({'switch': 1, 'dstmac': 00:00:00:00:00:01, 'srcmac': 00:00:00:00:00:01}, 60000, 5)
我正在寻找这个特殊的元组,一个元组的字典,我们称它为 dict_of_tuples; dict的相应输出如下。
print dict_of_tuples
{({'switch': 5, 'dstmac': '00:00:00:00:00:00', 'srcmac': '00:00:00:00:00:01'}, 59999, 7): [CountBucket 140271056467472, CountBucket 140271056411280], ({'switch': 5, 'dstmac': '00:00:00:00:00:00', 'srcmac': '00:00:00:00:00:01'}, 59999, 5): [CountBucket 140271056467472, CountBucket 140271056411280], ({'switch': 1, 'dstmac': '00:00:00:00:00:01', 'srcmac': '00:00:00:00:00:01'}, 60000, 5): [CountBucket 140271057099664, CountBucket 140271056501008]}
但是,当我检查匹配项是否在元组中时:
if match_entry in dict_of_tuples:
我没有看到任何结果,即使 match_entry 显然在 dict_of_tuple 中。有什么理由会出现这种情况?
【问题讨论】:
-
确定它们是字典和元组而不是字符串?
-
与
'srcmac'关联的值在一种情况下似乎是字符串,而在另一种情况下似乎是某种非字符串对象。 -
bdw,
00:00:00:00:00:01是什么?我知道"00:00:00:00:00:01"是什么,但不是前者。 -
完整的代码会更好。否则很难复制该场景
标签: python dictionary tuples