我需要检查python字典中的一个特定值。
以下是我正在使用的数据示例:
考虑名为record_set的词典。
它由以下值组成,每个人都是不同的并且是单独的条目。
这就是这三个是在迭代循环时创建的不同字典。
{u'name': u'9.8.10.5.in-addr.arpa.',u'domain_id': u'5e18999d'}
{u'name': u'5.6.3.1.in-addr.arpa.',u'domain_id': u'5e18999d'}
{u'name': u'6.5.4.8.in-addr.arpa.',u'domain_id': u'5e18999d'}
现在我需要的是从字典中查找特定值,考虑“6.5.4.8.in-addr.arpa。”。
如果字典中没有值,则应丢弃特定字典。(不应返回)
例如,结果应如下:
{u'name': u'6.5.4.8.in-addr.arpa.',u'domain_id': u'5e18999d'}
应丢弃其他两个条目。
我认为现在很清楚。
答案 0 :(得分:1)
如果我正确理解你的问题,你需要这样的东西:
Last_digit(2^n) = Last_digit(2^(n%4))
如果您确实想要丢弃列表中的其他词典,您可以这样做:
records = [{u'name': u'9.8.10.5.in-addr.arpa.',u'domain_id': u'5e18999d'},
{u'name': u'5.6.3.1.in-addr.arpa.',u'domain_id': u'5e18999d'},
{u'name': u'6.5.4.8.in-addr.arpa.',u'domain_id': u'5e18999d'}]
for item in records:
if item['name'] == '5.6.3.1.in-addr.arpa.':
print item
答案 1 :(得分:0)
我会使用条件集描述符:
records = [{u'name': u'9.8.10.5.in-addr.arpa.',u'domain_id': u'5e18999d'},
{u'name': u'5.6.3.1.in-addr.arpa.',u'domain_id': u'5e18999d'},
{u'name': u'6.5.4.8.in-addr.arpa.',u'domain_id': u'5e18999d'}]
name = u'9.8.10.5.in-addr.arpa.'
matchingRecords = [item for item in records if item[u'name'] == name]
matchingRecords将包含:[{'domain_id': '5e18999d', 'name': '9.8.10.5.in-addr.arpa.'}]