List python字典中列表第i位元素的平均值
我有以下词典列表:List python字典中列表第i位元素的平均值,list,python-3.x,dictionary,List,Python 3.x,Dictionary,我有以下词典列表: clusters=[{'A': [1.0, 1.0]}, {'C': [4.0, 4.0], 'D': [4.0, 5.0], 'B': [2.0, 1.0]}] 我编写了一段代码,从列表中一次访问一本词典: for index, value in enumerate(clusters): for key in value: 这样我就可以得到以下字典 {'A': [1.0, 1.0]} {'C': [4.0, 4.0], 'D': [4.0, 5.0],
clusters=[{'A': [1.0, 1.0]}, {'C': [4.0, 4.0], 'D': [4.0, 5.0], 'B': [2.0, 1.0]}]
我编写了一段代码,从列表中一次访问一本词典:
for index, value in enumerate(clusters):
for key in value:
这样我就可以得到以下字典
{'A': [1.0, 1.0]}
{'C': [4.0, 4.0], 'D': [4.0, 5.0], 'B': [2.0, 1.0]}
我要做的是在字典中找到列表值的第i个元素的平均值。
例如:在第二本词典中
x-position-average = (4.0+4.0+2.0)/3
然后将该值指定给字典,如下所示:
new_centroid = {"X": x-position-average,"Y": y-position-average,...}
使用“总和”方法。
给一本字典“D”:
这将返回D中每个列表第i个元素的平均值。使用“求和”方法。
给一本字典“D”:
这将返回D中每个列表第i个元素的平均值。如果有维度中点的字典n
,则以下函数将它们的质心作为元组返回:
def centroid(d,n):
return tuple(statistics.mean(d[k][i] for k in d) for i in range(n))
例如,如果
cluster = {'C': [4.0, 4.0], 'D': [4.0, 5.0], 'B': [2.0, 1.0]}
然后
这使用了模块,这在Python 3中相对较新。如果有维度n
中的点字典,则以下函数将其质心作为元组返回:
def centroid(d,n):
return tuple(statistics.mean(d[k][i] for k in d) for i in range(n))
例如,如果
cluster = {'C': [4.0, 4.0], 'D': [4.0, 5.0], 'B': [2.0, 1.0]}
然后
这使用了Python 3中相对较新的模块。可能与@Trey50Daniel重复。我想这两个问题听起来都一样。是的,我想是的。这正是我所不喜欢的。可能是@Trey50Daniel的翻版。我想这两个问题听起来都一样。是的,我想是的。这正是我所不喜欢的。你能再多加一点描述吗?你能再多加一点描述吗?