簡體   English   中英

根據 python 中文本文件中給定的輸入創建嵌套字典

[英]create a nested dictionary from the input given in a text file in python

我有一個 txt 文件,其中包含以下格式的數據:-

name1:   #(for student 1)
name2, 1     
name3, 0
name4, 1
…

name2:    #(for student 2)
name1, 0
name3, 0
name4, 0
…
and so on for different students.

並且創建的字典應采用以下格式:-

{"name1": {"name2" : 1, "name3" : 0,......}, 
 "name2": {"name1" : 0, "name3" : 0, ......}, 
.....}

請在不導入任何模塊的情況下解決問題,只需通過文件 i/o 和嵌套字典*所需的 output

d = {}
with open (filename) as f:
    content = f.readlines()
    for line in content:
        line = line.strip('\r').strip('\n').split(',')
        d[line[0]] = line

您需要檢查它是name:行還是name, number行。

當它是name:用那個名字開始一個新的嵌套字典,否則添加到當前的嵌套字典。

d = {}
with open(filename) as f:
    for line in f:
        line = line.strip()
        if line.endswith(':'):
            name = line[:-1]
            d['name'] = {}
        elif line:
            innername, value = line.split(',')
            d['name'][innername] = int(value)

我假設像#(for student 1)這樣的評論不是文件的一部分,只是在這里的描述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM