我有以下包含5个条目的列表:
my_lol = [['a', 1.01], ['x',1.00],['k',1.02],['p',3.00], ['b', 3.09]]
我想将上面的列表大致如下:
^{pr2}$我希望在当天结束时得到以下清单:
dol = {'x':['x','a','k'], 'p':['p','b']}
本质上,列表字典是一个包含两个集群的集群。在
我试过了,但是从第三步开始就卡住了。正确的方法是什么?在
import operator
import json
from collections import defaultdict
my_lol = [['a', 1.01], ['x',1.00],['k',1.02],['p',3.00], ['b', 3.09]]
my_lol_sorted = sorted(my_lol, key=operator.itemgetter(1))
thres = 0.1
tmp_val = 0
tmp_ids = "-"
dol = defaultdict(list)
for ids, val in my_lol_sorted:
if tmp_ids != "-":
diff = abs(tmp_val - val)
if diff < thres:
print tmp_ids
dol[tmp_ids].append(tmp_ids)
tmp_ids = ids
tmp_val = val
print json.dumps(dol, indent=4)
试试这个:
相关问题 更多 >
编程相关推荐