You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python中两个列表按相同排序规则对应排序?

解决球队胜率与球队列表对应排序的问题

对于新手来说,用zip()函数配对两个列表,再排序拆分是最简单的实现方式,步骤如下:

  • 把胜率和球队列表配对:用zip()将w_l_pct和team_list的对应元素打包成元组,让胜率放在元组首位,方便后续按胜率排序。
  • 按胜率降序排序:用sorted()函数对配对后的列表排序,添加reverse=True参数实现从高到低排序。
  • 拆分回独立列表:用zip(*排序后的配对列表)将排序后的元组拆分成两个新列表,分别对应排序后的胜率和球队。

完整示例代码

# 示例数据
team_list = ["Team0", "Team1", "Team2", "Team3"]
w_l_pct = [0.55, 0.78, 0.62, 0.81]  # 这里用小数表示胜率,比如0.81就是81%

# 1. 配对胜率与球队
paired_data = list(zip(w_l_pct, team_list))

# 2. 按胜率从高到低排序
sorted_paired = sorted(paired_data, reverse=True)

# 3. 拆分得到排序后的两个列表
sorted_w_l_pct, sorted_team_list = zip(*sorted_paired)
# 转成列表(可选,zip返回的是元组,转成列表更符合新手使用习惯)
sorted_w_l_pct = list(sorted_w_l_pct)
sorted_team_list = list(sorted_team_list)

# 执行你需要的输出语句
print(f"{sorted_team_list[0]} had the highest Win/Loss percentage with {sorted_w_l_pct[0]*100:.1f}% of their games being wins!")

说明

  • 如果你的w_l_pct里已经是百分比数值(比如81、78这类整数),那输出时不需要乘100,直接用sorted_w_l_pct[0]即可。
  • 排序后sorted_team_list[0]就是胜率最高的球队,sorted_w_l_pct[0]是对应的胜率,完全符合你需要的输出逻辑。

内容的提问来源于stack exchange,提问作者ShipHull

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:10:21