我呼叫了以下串列My_list,并希望將其轉換為名為My_dict.
My_list=['I=113','PLAN=1','A=0PDFGB','B=23FGC','C=26TGFGD','D=19TGE','E=18TGA',
'I=120','PLAN=2','A=0PDFGB','B=23FGC','C=26TGFGD','D=19TGE','E=18TGA']
輸出應如下所示:
My_dict={'I=113': ['PLAN=1', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD','D=19TGE', 'E=18TGA'],
'I=120': ['PLAN=2', 'A=0PDFGB', 'B=23FGC',' C=26TGFGD','D=19TGE','E=18TGA']}
如您所見,我想讓以 開頭的字串I=成為我的字典的鍵,而兩個字串之間的以 開頭的字串I=成為我的第一個鍵值,依此類推。
我很感激你在這件事上的指導。
uj5u.com熱心網友回復:
我們可以使用回圈:
out = {}
for item in My_list:
if item.startswith('I'):
out[item] = []
current = item
else:
out[current].append(item)
輸出:
{'I=113': ['PLAN=1', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA'],
'I=120': ['PLAN=2', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA']}
uj5u.com熱心網友回復:
撰寫一個回圈來跟蹤當前鍵及其相關值。然后,當我們看到一個新鍵時,將現有的鍵和值添加到字典中。
data = ['I=113','PLAN=1','A=0PDFGB','B=23FGC','C=26TGFGD','D=19TGE','E=18TGA', 'I=120', 'PLAN=2', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA']
result = {}
current_list = None
current_key = None
for item in data:
if item.startswith('I='):
if current_key is not None:
result[current_key] = current_list
current_list = []
current_key = item
elif current_key is not None:
current_list.append(item)
if current_key is not None:
result[current_key] = current_list
print(result)
這列印:
{'I=113': ['PLAN=1', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA'],
'I=120': ['PLAN=2', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA']}
uj5u.com熱心網友回復:
您可以使用enumerate和zip
data =['I=113','PLAN=1','A=0PDFGB','B=23FGC','C=26TGFGD','D=19TGE','E=18TGA',
'I=120','PLAN=2','A=0PDFGB','B=23FGC','C=26TGFGD','D=19TGE','E=18TGA']
index_list = [idx for idx, item in enumerate(data) if item.startswith('I')]
res = {data[start]: data[start 1: end] for start, end in zip(index_list, index_list[1:] [len(data)])}
print(res)
輸出:
{'I=113': ['PLAN=1', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA'],
'I=120': ['PLAN=2', 'A=0PDFGB', 'B=23FGC', 'C=26TGFGD', 'D=19TGE', 'E=18TGA']}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435224.html
下一篇:奇怪的行為:用字典進行串列理解
