Python 是否有方法枚举共享同一索引的列表或词典?

Python 是否有方法枚举共享同一索引的列表或词典?,python,python-3.x,list,sorting,dictionary,Python,Python 3.x,List,Sorting,Dictionary,我想列举一个列表或字典,如果项目共享相同的值或相等,我希望它们使用1个索引 这是我的代码: def print_data(league_results): for i, (team, points) in enumerate(sorted(league_results.items(), key=lambda x: x[1], reverse=True), 1): if points == 1: i = i print

我想列举一个列表或字典,如果项目共享相同的值或相等,我希望它们使用1个索引

这是我的代码:

def print_data(league_results):
    for i, (team, points) in 
    enumerate(sorted(league_results.items(), key=lambda x: x[1], 
    reverse=True), 1):
        if points == 1:
          i = i
        print('{}. {}, {}'.format(i, team.strip(''), points))
输出

1. Man City, 6
2. Liverpool, 5
3. Everton, 1
4. Stoke, 1
5. Fulham, 0
这是我想要的结果:如果一个团队共享一个点,他们应该有相同的索引。埃弗顿和斯托克必须共享同一指数

1. Man City, 6
2. Liverpool, 5
3. Everton, 1 
3. Stoke, 1
4. Fulham, 0
您可以使用:

结果:

1. Man City, 6
2. Liverpool, 5
3. Everton, 1
3. Stoke, 1
4. Fulham, 0
给你钱

说明:

groupby
将通过点数和团队之间的匹配(如果他们被排序,它将对他们进行分组)生成一个iterable,给我们一个iterable的
(点数,[(团队,点数),…]),…
。因此,当枚举它时,您将枚举这些组,这将是我们的索引
i
。 由于我们希望枚举从
1
开始,而不是从
0
开始,因此我们只要求函数从它开始
enumerate(iterable,start\u enumerate\u value)
您可以使用:

结果:

1. Man City, 6
2. Liverpool, 5
3. Everton, 1
3. Stoke, 1
4. Fulham, 0
给你钱

说明:

groupby
将通过点数和团队之间的匹配(如果他们被排序,它将对他们进行分组)生成一个iterable,给我们一个iterable的
(点数,[(团队,点数),…]),…
。因此,当枚举它时,您将枚举这些组,这将是我们的索引
i

由于我们希望枚举从
1
开始,而不是从
0
开始,我们只需要求函数从它开始
enumerate(iterable,start\u enumerate\u value)

league\u results
中有什么?提供一个
league\u results
的示例,很抱歉,我创建了一个字典,我先根据分数排序,然后列举{‘曼城’:6,‘埃弗顿’:1,‘利物浦’:5,‘斯托克’:1,‘富勒姆’:0}联赛结果中有什么内容?提供一个联赛结果的例子很抱歉,我创建了一个字典,我先根据分数排序,然后列举{‘曼城’:6,‘埃弗顿’:1,‘利物浦’:5,‘斯托克’:1,‘富勒姆’:0}谢谢你,代码是有效的,但如果你能如此友好地向我解释为什么我要使用groupby,为什么你要增加索引或我的.format格式?谢谢你,代码是有效的,但是如果你能如此友好地向我解释为什么我要使用groupby,为什么你要增加索引或我的.format格式?