【问题标题】:Dictionary comprehension with list values具有列表值的字典理解
【发布时间】:2019-08-30 19:37:24
【问题描述】:

我有一个浮点值列表,例如x = [0.0, 0.5, 0.0 , 0.8]

我创建了一个字典,将索引和列表值存储为键

dict = { 'inds' : [0,1,2,3] , 'vals' : [0.0, 0.5, 0.0, 0.8]}

我需要以返回所有非零向量值的方式过滤字典并返回该字典:

dict['inds'] = [1,3]
dict['vals'] = [0.5, 0.8]

我尝试了几种不同的理解技术,但似乎找不到一种来评估“vals”列表中的浮动对象

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]
d = {'inds' : [], 'vals' :[]}
c = {}

for i in range(len(x)):
        c[i] = x[i]

d['inds'] = list(c.keys())
d['vals'] = list(c.values())

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    像这样:

    x = [0.0, 0.5, 0.0 , 0.8]
    c = {k:v for k,v in enumerate(x) if v != 0.0}
    d = {'inds':list(c.keys()), 'vals':list(c.values())}
    

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多