我正在使用python进行工作,并且如果键在字典中存在多次,则尝试获取键的值。我有多个字典的元组,如下;
({{'对象':0.407,'2008':0.325,'概念':0.449,'c#':0.222,'.net':0.21,'定向':0.41,'2012':0.369,'asp .net':0.234,'sql_server':0.274},{'microsoft_kinect_sdk_1.8':1.0},{'sql':0.268,'ado.net':0.447,'c#':0.468,'asp.net': 0.494,'c ++':0.346,'sql_server':0.289,'java':0.248},{'.net':1.0},{'sql_serverâ':0.766,'c#':0.282,'asp':0.513,' .net':0.267},{'jquery':0.201,'vb':0.49,'prototype':0.481,'c#':0.214,'.net':0.203,'css':0.199,'javascript':0.357 ,“ html”:0.204,“面向对象”:0.376,“ java”:0.227},{'javascript':0.163,“ android”:0.216,“ java_ee”:0.38,“ liferay”:0.86,“ java” :0.207},{'j2ee':1.0},{'javascript':1.0},{'android':1.0},{'ios':1.0},{'ruby':0.432,'rails':0.424,' asp.net”:0.254,“ css”:0.223,“ fphp”:0.654,“ javascript”:0.2,“ html”:0.228})
我想要这样的结果;
{'ios':1.0,'concept':0.449,'sql_server':0.766,'2012':0.369,'.net':[0.21,1.0,0.267,0.203,0.254],'microsoft_kinect_sdk_1.8' :1.0,'sql':0.268,'css':0.223,'ado.net':0.447,'asp.net':[0.234,0.494.0.254],'取向':0.41,'c ++':0.346,' html':0.228,'j2ee':1.0,'面向对象':0.376,'jquery':0.201,'vb':0.49,'rails':0.424,'c#':0.214,'ruby':0.432,' android':1.0,'java_ee':0.38,'sql_server':0.289,'java':0.207,'object':0.407,'2008':0.325,'asp':0.513,'fphp':0.654,'javascript' :0.2,'liferay':0.86,'prototype':0.481}
先谢谢您
答案 0 :(得分:0)
aa = ({'object': 0.407, '2008': 0.325, 'concept': 0.449, 'c#': 0.222, '.net': 0.21, 'oriented': 0.41, '2012': 0.369, 'asp.net': 0.234, 'sql_server': 0.274}, {'microsoft_kinect_sdk_1.8': 1.0}, {'sql': 0.268, 'ado.net': 0.447, 'c#': 0.468, 'asp.net': 0.494, 'c++': 0.346, 'sql_server': 0.289, 'java': 0.248}, {'.net': 1.0}, {'sql_serverâ': 0.766, 'c#': 0.282, 'asp': 0.513, '.net': 0.267}, {'jquery': 0.201, 'vb': 0.49, 'prototype': 0.481, 'c#': 0.214, '.net': 0.203, 'css': 0.199, 'javascript': 0.357, 'html': 0.204, 'object-oriented': 0.376, 'java': 0.227}, {'javascript': 0.163, 'android': 0.216, 'java_ee': 0.38, 'liferay': 0.86, 'java': 0.207}, {'j2ee': 1.0}, {'javascript': 1.0}, {'android': 1.0}, {'ios': 1.0}, {'ruby': 0.432, 'rails': 0.424, 'asp.net': 0.254, 'css': 0.223, 'fphp': 0.654, 'javascript': 0.2, 'html': 0.228})
bb = {}
for i in aa:
for k, v in i.items():
bb.setdefault(k, []).append(v)
print (bb)
#output
{'object': [0.407], '2008': [0.325], 'concept': [0.449], 'c#': [0.222, 0.468, 0.282, 0.214], '.net': [0.21, 1.0, 0.267, 0.203], 'oriented': [0.41], '2012': [0.369], 'asp.net': [0.234, 0.494, 0.254], 'sql_server': [0.274, 0.289], 'microsoft_kinect_sdk_1.8': [1.0], 'sql': [0.268], 'ado.net': [0.447], 'c++': [0.346], 'java': [0.248, 0.227, 0.207], 'sql_serverâ': [0.766], 'asp': [0.513], 'jquery': [0.201], 'vb': [0.49], 'prototype': [0.481], 'css': [0.199, 0.223], 'javascript': [0.357, 0.163, 1.0, 0.2], 'html': [0.204, 0.228], 'object-oriented': [0.376], 'android': [0.216, 1.0], 'java_ee': [0.38], 'liferay': [0.86], 'j2ee': [1.0], 'ios': [1.0], 'ruby': [0.432], 'rails': [0.424], 'fphp': [0.654]}
如果您不想为单个值元素使用列表对象,例如object: [0.407]
,然后可以将其转换为字符串以进行进一步处理。