我有一个python列表:
a = [('x',3.6),('x',5.2),('y',4.5),('x',1.4),('y',2.1),('z',3.3)]
在a
中,我想找到a
的top2 distinct元素,它按第二个元素排序,这意味着:
第一:我排序a
:
b = sorted(a, key=lambda x: x[1],reverse=True)
b: [('x', 5.2), ('x', 3.6), ('y', 3.5), ('z', 3.3), ('y', 2.1), ('x', 1.4)]
第二:在排序后的b
中,我需要得到两个不同的元素,结果可能是:['x', 'y']
,如何才能整齐地得到这个结果?你知道吗
添加:
如果我有清单:
a = [('x',3.6, 'xx1'),('x',5.2, 'xx2'),('y',4.5, 'xx1'),('x',1.4, 'xx3'),('y',2.1, 'xx1'),('z',3.3, 'xx2')]
和b
:
b = sorted(a, key=lambda x: x[1], reverse=True)
我怎样才能得到a的前2个不同元素(结果可能是['x', 'y']
)?你知道吗
使用OrderedDict并获取其键的前2个元素
对于
a
的每个项中的更多元素,在以(key, (item1, item2, ...))
格式构建OrderedDict
时需要重新格式化tuple元素的结构相关问题 更多 >
编程相关推荐