python - 从文本文件 PYTHON 填充字典

标签 python list loops dictionary

我正在尝试读取此文本文件。

A B C D
1 5 6 7
2 8 9 10
3 .......
4 .......

字母作为一行引入,然后我将所有值作为 float 引入

with open('file.txt', 'r') as f:
  headings = f.readline()

  numbers = [float(n) for n in f.read().split()] #read values to the 'numbers' as a list 
  print numbers

所以我有一个包含所有整数的长列表。

但我想要这种格式的字典:

my_dict( { 1: [5,6,7], 2:[8,9,10] } )

所以文件编号的第一列是键,其余的是与各自键相关的列表。

我将每个第四个值设置为带有循环的键,但是如何轻松地将其余值作为列表放入相应的键中。

最佳答案

mydict = {}
with open('file.txt', 'r') as f:
    headings = f.readline()

    for row in f:
        row = row.split()
        key = row[0]
        vals = row[1:]
        mydict[key] = vals

类似的事情?或者我误解了你想要的结果? 由于您没有使用实际的 header A B C D ... 我不会尝试对它们做一些事情,所以我将保留您的解决方案不变。

您还编写了某种名为 my_dict (?)的类,我不会尝试使用它,因为我不知道它实际上是什么。

如果您需要输出中的值是整数,只需执行以下操作:

row = row.split()
row = list(int(n) for n in row)

关于python - 从文本文件 PYTHON 填充字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31311771/

相关文章:

C:我的循环似乎不起作用

c - 循环到开头

python - 安装的 'pyarrow'版本不兼容,如何修复?

python - python 中的 a=[1] 和 [1] 有什么区别?

list - Grails 在删除时调整 _idx 数据

python - python如何将属性写入对应的标签? (文中的详细示例可能有助于更好地理解它。)

python - 添加到 numpy 数组的 View

python - Pandas Dataframe 迭代行

python - 导入错误 : No module named 'xlrd'

java - 从文本文件写入时,数组仅将值设置为 "0"