我有一个txt文件,需要提取一些值并组织为字典。
这是需要的格式{State: Town}
例如{'Alabama': 'Auburn', Alabama: 'Florence'....'Wyoming': 'Laramie'}
这是我的密码:
with open('my.txt') as file:
output = []
current_state = ""
region = ""
for line in file:
if (len(line.split("[edit]")) == 2):
current_state = line.split("[edit]")[0]
else:
region = line.split(" (")[0]
if (region != ""):
output.append([current_state, region])
return output
但是,我的代码并不是我想要它做的。感觉就像我正在存储先前提取的“region”值并将其附加到下一个状态。所以逻辑有问题,我不确定到底是什么
[['Alabama', 'Auburn'],
['Alabama', 'Florence'],
['Alabama', 'Jacksonville'],
['Alabama', 'Livingston'],
['Alabama', 'Montevallo'],
['Alabama', 'Troy'],
['Alabama', 'Tuscaloosa'],
['Alabama', 'Tuskegee'],
['Alaska', 'Tuskegee'],
['Alaska', 'Fairbanks'],
['Arizona', 'Fairbanks'],
['Arizona', 'Flagstaff'],
['Arizona', 'Tempe'],
['Arizona', 'Tucson'],...]
正如你所看到的,我得到了“费尔班克斯”两次,第一次是附加到阿拉斯加,这是正确的,第二次是附加到亚利桑那州,这是不正确的。我所有的州都发生过这种事
...
['Alaska', 'Fairbanks'],
['Arizona', 'Fairbanks'],
...
['Wisconsin', 'Whitewater'],
['Wyoming', 'Whitewater'],
['Wyoming', 'Laramie']]
如果你真的想把这些值放到字典里
在
with open('my.txt') as file:
之前,放入country = dict()
在循环中你可以用
对于您的问题,
region = ''
将解决这个问题,但要放入字典中,上面的代码将有所帮助,这将列出一个特定键的列表。快乐的编码您没有重置区域,因此它将存储以前的结果
更改为
相关问题 更多 >
编程相关推荐