MrR*_*ken 1 python dictionary file
我有这样一个文件:
Ben
0 1 5 2 0 1 0 1
Tim
3 2 1 5 4 0 0 1
Run Code Online (Sandbox Code Playgroud)
我想创建一个如下所示的字典:
{Ben: 0 1 5 2 0 1 0 1, Tim : 3 2 1 5 4 0 0 1}
Run Code Online (Sandbox Code Playgroud)
所以我想的是:
for line in file:
dict[line] = line + 1
Run Code Online (Sandbox Code Playgroud)
但你不能遍历这样的文件,那么我该如何去做呢?
这可能是你想要的:
dict_data = {}
with open('data.txt') as f:
for key in f:
dict_data[key.strip()] = next(f).split()
print dict_data
Run Code Online (Sandbox Code Playgroud)
输出:
{'Tim':['3','2','1','5','4','0','0','1'],'Ben':['0','1 ','5','2','0','1','0','1']}
key.strip() 将'添加'改为'添'f.next() 读取并返回下一行 - 关键行后面的行f.next().split() 因此将该行拆分为一个列表dict_data[key.strip()] = ... 会做类似的事情: dict_data['Tim'] = [ ... ]f.next()了next(f)如果要将列表转换为整数列表而不是字符串,则代替:
dict_data[key.strip()] = next(f).split()
Run Code Online (Sandbox Code Playgroud)
做这个:
dict_data[key.strip()] = [int(i) for i in next(f).split()]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |