gpt4 book ai didi

Python,如何使用文件中的行作为字典中的键,使用下一行作为值?

转载 作者:太空宇宙 更新时间:2023-11-04 07:21:56 25 4
gpt4 key购买 nike

我有这样一个文件:

   Ben
0 1 5 2 0 1 0 1
Tim
3 2 1 5 4 0 0 1

我想制作一本如下所示的字典:

    {Ben: 0 1 5 2 0 1 0 1, Tim : 3 2 1 5 4 0 0 1}

所以我在想:

   for line in file:
dict[line] = line + 1

但是你不能像那样遍历文件,所以我该怎么做做这个?

最佳答案

这可能是您想要的:

dict_data = {}
with open('data.txt') as f:
for key in f:
dict_data[key.strip()] = next(f).split()

print dict_data

输出:

{'Tim': ['3', '2', '1', '5', '4', '0', '0', '1'], 'Ben': ['0', '1', '5', '2', '0', '1', '0', '1']}

讨论

  • for 循环假定每一行都是一个键,我们将读取循环体中的下一行
  • key.strip() 将 'Tim\n' 转换为 'Tim'
  • f.next() 读取并返回下一行——关键行之后的行
  • f.next().split() 因此将该行拆分为一个列表
  • dict_data[key.strip()] = ... 会做类似的事情:dict_data['Tim'] = [ ... ]

更新

  • 感谢 Blckknght 的指点。我将 f.next() 更改为 next(f)

更新2

如果你想把列表变成一个整数列表而不是字符串,那么代替:

        dict_data[key.strip()] = next(f).split()

这样做:

        dict_data[key.strip()] = [int(i) for i in next(f).split()]

关于Python,如何使用文件中的行作为字典中的键,使用下一行作为值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com