【问题标题】:Python: appending array to a new array based on dictionaryPython:将数组附加到基于字典的新数组
【发布时间】:2015-08-04 20:48:50
【问题描述】:

例如,我的集群有以下:

cluster = {0: [array([ 0.66979552,  0.25469174])],
 1: [array([-0.69608797,  0.91087328])]}.

我想将 X[j] 附加到 dic(0) 。假设 X[j] 是。

X[j] = array([ 0.83563669, -0.33302472])

我使用了追加功能

cluster[0].append(X[j])

并因此获得了 KeyError。

所以请帮忙,我怎样才能将一个数组附加到一个基于某个字典的新数组中。

【问题讨论】:

  • 您的全部错误是什么?它对我有用。
  • 最后的输出应该是什么?
  • 错误是什么(包括完整的堆栈跟踪)以及预期结果是什么?
  • 预期结果是 cluster = {0: [array([x1,y1]), array([x2,y2])], 1: [array([-0.69608797, 0.91087328]) ]}。

标签: python arrays dictionary append


【解决方案1】:

这个:

cluster = {0: [[ 0.66979552,  0.25469174]],
 1: [[-0.69608797,  0.91087328]]}

x =[0.83563669, -0.33302472]

cluster[0].append(x)

给:

{0: [[0.66979552, 0.25469174], [0.83563669, -0.33302472]],
 1: [[-0.69608797, 0.91087328]]}

删除“数组”争论。

【讨论】:

  • 数组参数来自numpy,这就是为什么我必须保留它,因为它是一个numpy数组
【解决方案2】:

我不明白你想说什么。但是,我这样做了:

$蟒蛇

>>> cluster = {0: [ 0.66979552,  0.25469174],1: [-0.69608797,  0.91087328]}
>>> j = 3
>>> X={}
>>> X[j] = [ 0.83563669, -0.33302472]
>>> cluster[0].append(X[j])
>>> cluster
{0: [0.66979552, 0.25469174, [0.83563669, -0.33302472]], 1: [-0.69608797, 0.91087328]}

【讨论】:

  • 数组参数来自numpy,这就是为什么我必须保留它,因为它是一个numpy数组
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 2021-12-24
  • 2014-04-16
相关资源
最近更新 更多