python之如何从python中的键值对中搜索键

无情 阅读:32 2024-09-07 23:24:14 评论:0

我编写了从我的计算机创建文件的键值对并将它们存储在列表 a 中的代码。这是代码:

groups = defaultdict(list) 
with open(r'/home/path....file.txt') as f: 
    lines=f.readlines() 
    lines=''.join(lines) 
    lines=lines.split() 
    a=[] 
    for i in lines: 
        match=re.match(r"([a,b,g,f,m,n,s,x,y,z]+)([-+]?[0-9]*\.?[0-9]+)",i,re.I) 
        if match: 
            a.append(match.groups()) 
print a 

现在我想查找某个特定键是否在该列表中。例如,我的代码生成此输出:

[('X', '-6.511'),('Y', '-40.862'),  
('X', '-89.926'),('N', '7304'), 
('X', '-6.272'), ('Y', '-40.868'),  
('X', '-89.979'),('N', '7305'), 
('Y', '-42.101'),('Z', '238.517'), 
('N', '7306'),   ('Y','-43.334'),  
('Z', '243.363'),('N', '7307')] 

现在,输出中的键是 'X''Y''Z''N' 但我要查找的键是 ABGFM, N, S, X, Y, Z >。因此对于那些不在输出中的键,输出应该显示类似“A not in list”“B not in list”

请您参考如下方法:

for node in ['A', 'B', 'G', 'F', 'M', 'N', 'S', 'X', 'Y', 'Z']: 
    if node not in groups.keys(): 
        print "%s not in list"%(node) 

在遍历列表时使用变量和打印函数

我想这就是你想要的。


标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号