我有一个如下所示格式的文件。
A 83 140 228 286 426 612 486 577 836 0 0
Aaliyah 0 0 0 0 0 0 0 0 0 380 215
Aaron 193 208 218 274 279 232 132 36 32 31 41
Abagail 0 0 0 0 0 0 0 0 0 0 958
Abbey 0 0 0 0 0 0 0 0 537 451 428
Abbie 431 552 742 924 0 0 0 0 752 644 601
Abbigail 0 0 0 0 0 0 0 0 0 953 562
Abby 0 0 0 0 0 906 782 548 233 211 209
Abdiel 0 0 0 0 0 0 0 0 0 925 721
Abdul 0 0 0 0 0 0 0 903 0 0 0
Abdullah 0 0 0 0 0 0 0 0 0 1000 863
Abe 248 328 532 764 733 0 0 0 0 0 0
Abel 664 613 626 575 542 491 497 422 381 385 354
Abigail 0 0 0 0 854 654 615 317 150 50 14
Abigale 0 0 0 0 0 0 0 0 0 0 959
我如何能够创建一个字典,其中名称为键,每个名称后面的整数列表为值?
答案 0 :(得分:5)
非常直接:
d = {}
with open('file.txt') as f:
for line in f:
parts = line.split()
d[parts[0]] = map(int, parts[1:])
结果是一个字典d
,键入每行的第一个标记,并带有一个整数列表作为字典值。
答案 1 :(得分:1)
由于每个名称后跟多个数字,我想您希望名称中的dict
为list
int
个值...:
thedict = {}
with open(filename) as f:
for line in f:
pieces = line.strip().split()
thedict[pieces[0]] = [int(p) for p in pieces[1:]]