uj5u.com熱心網友回復:
大概這樣步驟吧。1、讀取 A2.TXT
建立 字典 students = {'41900001':['張韶涵'], '41900002':['陳曉']}
2、讀取 B2.TXT
把 作業串列加到 students 里,
students = {'41900001':['張韶涵',['3','4','1','2','5']], '41900002':['陳曉','3','2','5','4','1','6']}
3、處理 作業串列, 可以用 set 去重,再轉 串列 排序。
4、輸出
uj5u.com熱心網友回復:
import more_itertools as mi
path1 = r'c:\A2.txt'
path2 = r'c:\B2.txt'
with open(path1, encoding='utf-8') as f:
l1 = f.read().splitlines()
l1 = [_.split(',') for _ in l1]
d1 = {a: b for a, b in l1}
with open(path2, encoding='utf-8') as f:
l2 = f.read().splitlines()
l2 = [[_[:(_.find(','))], _[(_.find(',')) + 1:].split(',')] for _ in l2]
l2.sort(key=lambda x: x[0])
g = mi.groupby_transform(l2, keyfunc=lambda x: x[0], valuefunc=lambda x: set(x[1]))
g = {a: list(set(mi.collapse(b))) for a, b in g}
d2 = {k: ','.join(sorted(v)) for k, v in g.items()}
result = [k + ' ' + v + ':' + d2.get(k, '無') for k, v in d1.items()]
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/40203.html
下一篇:企業級別應用--rsync遠程同步(配置 rsync 備份源、rsync 下行和上行、inotify+rsync 實時備份)
