我有一个Python问题:
假设给你一个向量,x
,包含大部分为零的实值。例如:
x = [0.0, 0.87, 0.0, 0.0, 0.0, 0.32, 0.46, 0.0, 0.0, 0.10, 0.0, 0.0]
完成功能,compress_vector(x)
,这样就返回一个字典d
有两把钥匙,d['inds']
and d['vals']
,它们是指示所有非零条目的位置和值的列表x
。对于前面的例子,
d['inds'] = [1, 5, 6, 9]
d['vals'] = [0.87, 0.32, 0.46, 0.10]
注意 1. 您的实现不得修改输入向量x
.
注 2. 如果x
仅包含零个条目,d['inds']
and d['vals']
应该是空列表。
我能够打印索引,但我不确定如何打印这些值。
def compress_vector(x):
assert type(x) is list
d = {'inds': [], 'vals': []}
d = ([i for i, e in enumerate(x) if e != 0], )
return d