我已经编写了代码,它可以将我的计算机中的文件创建键值对,并将它们存储在列表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'
。但我需要的键名是A
, B
, G
, F
, M
, N
, S
, X
, Y
, Z
。因此,对于那些不在输出中的键,输出应该显示类似于"A不在列表中"
,"B不在列表中"
。
[a,b,g,f,m,n,s,x,y,z]+
等同于[,abgfmnsxyz]+
,如果你不想匹配逗号,应该使用[abgfmnsxyz]+
。 - perreal