2024-10-04 01:36:58 发布
网友
举个例子,我有
[('Han Decane','12333'),('Can Decane','12333'),('Al Right','10110')]
输出应该是
['Han Decane','Can Decane']
我怎样才能得到它?你知道吗
如果您想对任意键执行此操作,可以使用OrderedDicts的defaultdict。。你知道吗
from collections import defaultdict, OrderedDict result_dict = defaultdict(OrderedDict) data = [('Han Decane','12333'),('Can Decane','12333'),('AlRight','10110')] for (v,k) in data: result_dict[k][v]=True >>> list(result_dict['12333'].keys()) ['Han Decane', 'Can Decane']
如果你想要所有有多个值的结果
>>> [k for k in result_dict if len(result_dict[k]) > 1 ] ['12333']
还有一个答案,没有那些花哨的进口货
data = [('Han Decane','12333'),('Can Decane','12333'),('AlRight','10110')] result_dict = {} for (v,k) in data: if k not in result_dict: result_dict[k] = set() result_dict[k].add(v) print(result_dict) # {'10110': {'AlRight'}, '12333': {'Han Decane', 'Can Decane'}} print(list(result_dict['12333'])) # ['Can Decane', 'Han Decane']
您可以创建一个从值到与这些值对应的所有键的映射
from collections import defaultdict a = {'Han Decane':12333,'Can Decane':12333,'Al Right':10110} map = defaultdict(list) for i, j in map.iteritems(): map[j].append(i)
这将创建一个列表字典,其中键作为旧dict的值,值作为相应旧键的列表。你知道吗
例如
map[12333]
将会是
如果您想对任意键执行此操作,可以使用OrderedDicts的defaultdict。。你知道吗
如果你想要所有有多个值的结果
还有一个答案,没有那些花哨的进口货
您可以创建一个从值到与这些值对应的所有键的映射
这将创建一个列表字典,其中键作为旧dict的值,值作为相应旧键的列表。你知道吗
例如
将会是
相关问题 更多 >
编程相关推荐