读取文件并使用值作为整数列表进入字典

时间:2015-03-17 01:57:26

标签: python dictionary

我有一个如下所示格式的文件。

    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

我如何能够创建一个字典,其中名称为键,每个名称后面的整数列表为值?

2 个答案:

答案 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)

由于每个名称后跟多个数字,我想您希望名称中的dictlist 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:]]