簡體   English   中英

在字典python中添加鍵的列表值

[英]add list value of a key in a dictionary python

我有以下字典:

centroid = {'A': [1.0, 1.0], 'B': [2.0, 1.0]}

使用以上字典,我創建了兩個不同的字典並將它們附加到列表中:

for key in centroids:
        clusters_list.append(dict(zip(key, centroids.get(key))))

但是,當我檢查cluster_list時,會得到以下數據:

[{'A': 1.0}, {'B': 2.0}]

而不是[{'A': [1.0, 1.0]}, {'B': [2.0, 1.0]}] 我怎樣才能解決這個問題?

您可以使用列表理解:

對於Python 2:

cluster_list = [{k: v} for k, v in centroid.iteritems()]
# [{'A': [1.0, 1.0]}, {'B': [2.0, 1.0]}]

對於Python 3:

cluster_list = [{k: v} for k, v in centroid.items()]

您也可以從itertools模塊使用starmap

In [1]: from itertools import starmap
In [2]: list(starmap(lambda k,v: {k:v}, centroid.items()))
Out[2]: [{'B': [2.0, 1.0]}, {'A': [1.0, 1.0]}]

當然,它也不保證結果列表中的順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM