我是python的新手,我目前有一个文本文件,我切成两列。我正在寻找文本文件中唯一的一对一关系来确定新的购房者:
主要文件
1234地址,比利乔尔Joe Martin,45其他地址
63其他其他地址,Joe Martin
Billy Joel,1234地址
我正在寻找独特的一对一关系(1234地址和Billy Joel)
Curent Steps / Goals:
- 根据','
将文本文件分割成两个列表 醇>
期待写这样的东西(我知道这是非常可怕的布局,但我仍然坚持如何实现这一点):
addressListing= text file that is read
leftLst = addressListing.split(",", 1)[0]
rightLst = addressListing.split(".", 1) [1]
for (x, y) in (leftLst, rightLst):
if x in rightLst and y in leftLst:
return x + y
else:
pass
如果一方只有地址而另一方只有名字,那么文本文件并不整洁。
答案 0 :(得分:0)
{
throw IndexOutOfBoundsException()
}.catch<RuntimeException>(NotImplementedException::class, IndexOutOfBoundsException::class) {
println("Caught something: $it")
}
答案 1 :(得分:0)
您没有使用适当的数据结构来解决此问题。首先,当存储在文件中的项目要有关系时,请考虑使用database。
虽然,如果您只需要对文件进行一次解析,那么使用dict
应该足够且足够高效。
def find_one_to_one(d):
for k, v in d.items():
if v in d and d[v] == k:
return k, v
else:
return None
with open('test_file.txt') as file:
d = {left.strip(): right.strip() for left, right in [row.split(',') for row in file]}
print(find_one_to_one(d))
1234 Address , Billy Joel
Joe Martin, 45 Other Address
63 OtherOther Address, Joe Martin
Billy Joel, 1234 Address
('1234 Address', 'Billy Joel')