+組長1
組員11
組員12
組員13
+組長2
組員21
組員22
組員23
+組長3
組員31
組員32
組員33
以上txt文本。我想讀取出來最終存成字典
{組長1:[組員11,組員12,組員13],組長2:[組員21,組員22,組員23],組長3:[組員31]}
readlines出每行資料,存入串列
用if判斷是元素是否有'+'
有加就做字典里的key,沒'+'就做值。
但是不知道這個回圈得怎么寫。。。有點混亂。。哪位大神幫捋一捋。不甚感激。
uj5u.com熱心網友回復:
首先創建一個空字典dic={}開始遍歷每行是否有+,如果有,把+和換行符去掉,提取出來的元素作為字典的一個新的key值,這個key值的value初始化為一個空list。
如果沒有+,說明是上一個提取出來的key值對應list的一個元素,去掉換行符后append進去。
filename='get-group.txt'
file_con = []
with open(filename,'r') as pf:
file_con = pf.readlines()
print(file_con)
dic = {}
for line in file_con:
if '+' in line:
key = line.strip('+').strip('\n')
dic[key]=[]
else:
value = line.strip('\n')
dic[key].append(value)
print(dic)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276382.html
