Python 对于每一个依次是键的值,都放在一行中

Python 对于每一个依次是键的值,都放在一行中,python,Python,我试图将input.txt中的键和值作为output.txt中的输出,基本上对于每个值,依次是键和值的值都放在一行中,值所在的行被删除。。。。我可以编写python实现,我需要关于如何开始这方面的输入 ''' INPUT(input.txt):- #KEY VALUE 353311 344670 332807 353314 338169 334478 334478 353314 353311 OUTPUT(output.txt):- KEY VALUE 344670 33

我试图将input.txt中的键和值作为output.txt中的输出,基本上对于每个值,依次是键和值的值都放在一行中,值所在的行被删除。。。。我可以编写python实现,我需要关于如何开始这方面的输入

'''
INPUT(input.txt):-
#KEY    VALUE
353311 
344670 
332807 353314
338169 334478
334478 
353314 353311


OUTPUT(output.txt):-
KEY     VALUE
344670
332807 353314 353311
338169 334478
'''

with open('input.txt', 'rb') as f:
    mainlist = [line.strip() for line in f]
        print mainlist
输出:

344670 
332807 353314 353311
338169 334478 

以下是您如何使用:


看起来像是图形问题。可以使用dict()存储这些键/值对,值可以是列表或集合。程序将需要一个循环来读取mainlist并填充dict,另一个循环来生成该dict的输出。@BrentWashburne-关于如何在python中实现这一点的任何输入?@BrentWashburne-我正试图将它们放入mainlist,如上所示…请用代码更新您的问题。谢谢,我想把输出写入一个文本文件,比如说“output.txt”,我该怎么做呢?
344670 
332807 353314 353311
338169 334478 
import networkx as nx

inp = '''353311 
344670 
332807 353314
338169 334478
334478 
353314 353311'''.splitlines()

G = nx.DiGraph()
for line in inp:
    spl = line.split()
    if len(spl) == 1:
        G.add_node(spl[0])
    else:
        G.add_edge(spl[0], spl[1])

print nx.weakly_connected_components(G)
#[['353314', '332807', '353311'], ['338169', '334478'], ['344670']]