首页 > 解决方案 > Python 字典映射未按预期工作

问题描述

所以我有这个包含以下内容的文本文件。

<lang:Foreign> <lang:foreign>
</lang:Foreign> </lang:foreign>
<lang: Foreign> <lang:foreign>
</lang: Foreign> </lang:foreign>

我的程序所做的是将行中的第一个文本映射到第二个。所以它在字典中看起来像这样。

{<lang:Foreign> : <lang:foreign>}
flist = [line.split() for line in f]
for k, v in flist:
    fdict.update({k: v})

我的映射代码在上面。但问题是最后两行条目

<lang: Foreign> <lang:foreign>
</lang: Foreign> </lang:foreign>

第一个条目之间有空格,我的代码拆分 lang: 和 Foreign。但我想指定第一个条目包含一个空格。我尝试过以下操作

<lang:\sForeign> <lang:foreign>
</lang:\sForeign> </lang:foreign>

知道如何告诉我的程序接受这个空间并正确映射它吗?谢谢!

标签: pythonregexpython-3.x

解决方案


我建议您拆分“> <”,然后将“>”和“<”添加回数组的第一个和第二个元素。像这样的东西...

arr = line.split('> <')
arr[0] = arr[0] + '>'
arr[1] = '<' + arr[1]

推荐阅读