【发布时间】:2014-05-26 13:01:59
【问题描述】:
我已经编写了从我的计算机创建文件的键值对并将它们存储在列表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 not in list","B not in list"。
【问题讨论】:
-
向我们展示您的尝试。
-
如果要匹配逗号,
[a,b,g,f,m,n,s,x,y,z]+相当于[,abgfmnsxyz]+,如果不想要逗号,则应该是:[abgfmnsxyz]+。 -
我不要逗号。我希望输出为“A不在列表中”,如果这些不在列表中,其他人也一样...我对此一无所知..
标签: python arrays list dictionary