gpt4 book ai didi

python - 如何打印列表的值?

转载 作者:行者123 更新时间:2023-11-28 20:32:42 25 4
gpt4 key购买 nike

我有一个 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']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']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

最佳答案

您可以按如下方式定义此函数:

def compress_vector(x):
d = {'inds': [], 'vals': []}

for i, e in enumerate(x):
if e != 0:
d['inds'].append(i)
d['vals'].append(e)
return d

基本上,您创建一个 dict,其中 'inds''vals' 的值被初始化为空列表。然后,您使用 enumerate 迭代列表以获得索引 (i) 和元素 (e)。在循环内,您设置元素应非零的条件,并将 ie 附加到前面的列表。

关于python - 如何打印列表的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104143/

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