【问题标题】:Remove the outer list from dictionary values从字典值中删除外部列表
【发布时间】:2018-09-06 05:51:01
【问题描述】:

我想从字典值中删除外部列表,但我只能找到 the unpacking method 不知道如何在字典值上使用它。

我的数据如下所示:

{'A': array([[ 1.90769404e-01,  1.26112014e-01, -2.17013955e-02]],
 'B': array([[ 2.80194253e-01,  1.19333006e-01,  3.63824964e-02]],
 'C': array([[ 1.40285566e-01,  4.76801395e-02,  5.49828596e-02]]}

我想删除外部列表,使它们像这样:

{'A': array([ 1.90769404e-01,  1.26112014e-01, -2.17013955e-02],
 'B': array([ 2.80194253e-01,  1.19333006e-01,  3.63824964e-02],
 'C': array([ 1.40285566e-01,  4.76801395e-02,  5.49828596e-02]}

我该怎么做?

【问题讨论】:

  • @CSMaverick 请不要在这里自我宣传,这真的会激怒用户(和我),这是一种不好的态度)))

标签: python list


【解决方案1】:

当然要使用索引:

>>> {k:v[0] for k,v in DIC.items()}
{'A': array([ 0.1907694 ,  0.12611201, -0.0217014 ]), 'B': array([ 0.28019425,  0.11933301,  0.0363825 ]), 'C': array([ 0.14028557,  0.04768014,  0.05498286])}
>>> 

【讨论】:

  • 我当然会。我在这里遇到了一点问题,删除外部列表后,我想使用for i, value in DIC.items(): DIC[i] = value.reshape(1, -1) 将字典值重塑为 2D 但是,该值又回到了两个嵌套列表,有没有更好的方法来重塑它以避免这种情况?谢谢
  • 这种重塑毫无意义。如果你想要一个有一行的二维数组,你最终会得到那些嵌套的括号。
  • @MadPhysicist 感谢您告诉我,(我不知道 numpy)
  • @CSMaverick takkyi83 的第二条评论说“我当然会”,所以为什么不呢
  • @CSMaverick 是因为他说了一些关于重塑的事情,所以我删除了它,因为,也许这不是他想要的,顺便说一句,我的回答已经被接受了,为什么还要?
【解决方案2】:

Python 字典解决方案:

{i:j[0] for i,j in DICTIONARY.items() }

#  
  {'A': [0.190769404, 0.126112014, -0.0217013955],
   'B': [0.280194253, 0.119333006, 0.0363824964],
   'C': [0.140285566, 0.0476801395, 0.0549828596]}

Python Numpy Array 的解决方案

arr = {'A': np.array([[ 1.90769404e-01,  1.26112014e-01, -2.17013955e-02]]),
       'B': np.array([[ 2.80194253e-01,  1.19333006e-01,  3.63824964e-02]]),
       'C': np.array([[ 1.40285566e-01,  4.76801395e-02,  5.49828596e-02]])}


print({k:v[0].ravel() for k,v in arr.items()})

输出

{'A': array([ 0.1907694 ,  0.12611201, -0.0217014 ]), 'B': array([0.28019425, 0.11933301, 0.0363825 ]), 'C': array([0.14028557, 0.04768014, 0.05498286])}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-14
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    相关资源
    最近更新 更多