我有一个以下格式的文件
.aaa b/b
.ddd e/e
.fff h/h
.lop m/n
我正在尝试阅读此文件。我想要的输出是,如果我找到“.aaa”我应该得到b / b,如果我找到“.ddd”我应该得到e / e等等。
我知道如何获取第1列和第2列,但我不知道如何比较它们并获取值。这就是我写的。
file = open('some_file.txt')
for line in file:
fields = line.strip().split()
print (fields[0]) #This will give 1st column
print (fields[1]) # This will give 2nd column
这不是正确的做事方式。采取了什么方法?
答案 0 :(得分:1)
任何时候你想做查找,字典就会成为你的朋友。
您可以编写一个函数来将数据加载到字典中:
while(scan.hasNext())
{
phone = scan.nextLine();
String[] phoneContents = phone.split(" ");
double b = Double.parseDouble(phoneContents[1]);
if(phone.contains(that))
System.out.println(phone + "\n");
}
然后用它来执行这样的查找:
def load_data(filename):
result = dict()
with open(filename, 'r') as f:
for line in f:
k,v = line.strip().split() # will fail if not exactly 2 fields
result[k] = v
return result
答案 1 :(得分:1)
听起来你可能想要的是构建一个字典映射第1列到第2列。你可以尝试:
var images = images + image;
然后在您的其他代码中,当您看到' .ddd'你可以简单地从字典中获取引用(例如field_dict [' .ddd']应该返回' e / e')
答案 2 :(得分:0)
只需根据空格分割每一行,并检查第一项是否与您给出的单词匹配。如果是,则从列表中打印第二个项目。
var