【发布时间】:2019-11-27 11:52:43
【问题描述】:
我有一个字典列表,我是这样排序的:
the_list = [
{'name': 'bobby', 'sport_type': 'football'},
{'name': 'jenny', 'sport_type': 'football'},
{'name': 'karl', 'sport_type': 'football'},
{'name': 'bobby', 'sport_type': 'hokey'},
{'name': 'jenny', 'sport_type': 'hokey'},
{'name': 'karl', 'sport_type': 'hokey'},
{'name': 'bobby', 'sport_type': 'tennis'},
{'name': 'jenny', 'sport_type': 'tennis'},
{'name': 'karl', 'sport_type': 'tennis'},
]
列表的长度为 n,因此会有更多具有不同 name 键和 sport_type 键的 dicts。我需要基于相同的 sport_type 和 != 不同的名称创建一个唯一字典对列表。像这样:
need_to = [
[{'name': 'bobby', 'sport_type': 'football'},{'name': 'jenny', 'sport_type': 'football'}],
[{'name': 'jenny', 'sport_type': 'football'},{'name': 'karl', 'sport_type': 'football'}],
[{'name': 'bobby', 'sport_type': 'football'},{'name': 'karl', 'sport_type': 'football'}],
[{'name': 'bobby', 'sport_type': 'hokey'},{'name': 'jenny', 'sport_type': 'hokey'}],
[{'name': 'jenny', 'sport_type': 'hokey'},{'name': 'karl', 'sport_type': 'hokey'}],
[{'name': 'bobby', 'sport_type': 'hokey'},{'name': 'karl', 'sport_type': 'hokey''}],
[{'name': 'bobby', 'sport_type': 'tennis'},{'name': 'jenny', 'sport_type': 'tennis'}],
[{'name': 'jenny', 'sport_type': 'tennis'},{'name': 'karl', 'sport_type': 'tennis'}],
[{'name': 'bobby', 'sport_type': 'tennis'},{'name': 'karl', 'sport_type': 'tennis'}],
]
所以没有反向重复a+b,b+a。我怎么做?
【问题讨论】:
标签: python list sorting dictionary combinations