gpt4 book ai didi

python : Help for an elegant list comprehension for an awkward format

转载 作者:行者123 更新时间:2023-11-30 09:29:46 25 4
gpt4 key购买 nike

我目前有稀疏矩阵数据的数据文件,如下所示

i j value

0 0 1
5 1 7
1 101 9

...

并且能够通过以下理解将该数据读取为(i,j,值)元组列表。

with open("sparse-data.data", "r") as f :
lines = f.readlines()
sparse_format = [tuple(int(x) for x in line.split(" ")]) for line in lines]

这里的目标是我需要根据给定的格式重建实际的矩阵。

我尝试过以下操作

X = [[]]
for data_point in sparse_format :
for i, j, val in data_point :
X[i][j] = val

但是没有成功。有小费吗?提前致谢!

~马特

最佳答案

鉴于这是一个稀疏矩阵,您可以考虑使用 defaultdict按元组索引:

from collections import defaultdict

X = defaultdict(int)
for data_point in sparse_format :
for i, j, val in data_point :
X[i,j] = val

只有文件中的值才会实际存储在字典中。使用 defaultdict(int),如果您尝试访问实际上不在字典中的键,您只会得到零。

如果您确实想将所有零存储在一个巨大的列表列表中,您可以将 X 初始化为:

X = [[0 for i in xrange(MAX_INDEX)] for j in xrange(MAX_INDEX)] 

关于 python : Help for an elegant list comprehension for an awkward format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30678467/

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