Skip to main content
 首页 » 编程设计

python之将标题的文本文件读入字典

2025年05月04日11dflying

我有这个目的地文本文件,我需要将它们读入字典并根据起点和目的地对它们进行排序。

JFK MCO 
ORD DEN 
ORD HOU 
DFW PHX 
JFK ATL 
ORD DFW 
ORD PHX 
ATL HOU 
DEN PHX 
PHX LAX 
JFK ORD 
DEN LAS 
DFW HOU 
ORD ATL 
LAS LAX 
ATL MCO 
HOU MCO 
LAS PHX 
STL PDX 

预期结果:

{'JKF' : {'MCO', 'ATL','ORD'}, 'ORD' : {'DEN' , 'HOU' , 'DFW' , 'PHX' , 'ATL' ........}} 

主要思想是起点在左边,终点在右边。将目的地分组到每个起点。

请您参考如下方法:

您可以遍历这些行,拆分这些行并使用 dict.setdefault 将目的地存储到以起始位置为键的集合字典中:

d = {} 
with open('file.txt') as file: 
    for line in file: 
        orig, dest = line.split() 
        d.setdefault(orig, set()).add(dest) 

d 变成:

{'JFK': {'ORD', 'ATL', 'MCO'}, 'ORD': {'DEN', 'HOU', 'ATL', 'DFW', 'PHX'}, 'DFW': {'PHX', 'HOU'}, 'ATL': {'MCO', 'HOU'}, 'DEN': {'PHX', 'LAS'}, 'PHX': {'LAX'}, 'LAS': {'PHX', 'LAX'}, 'HOU': {'MCO'}, 'STL': {'PDX'}}