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

如何同步排序分别存储字符串和浮点数的两个Python列表

现有代码的问题

你写的one, two = sorted(zip(one, two))存在两处错误:

  • 默认sorted对zip生成的(名字, 分数)元组排序时,会优先按元组第一个元素(名字)升序排列,不符合你按分数从高到低排序的需求
  • 排序后返回的是4个元组组成的列表,直接赋值给2个变量会触发变量数量不匹配的报错

正确实现

你需要先按分数降序排序配对的元组,再将排序后的元组解包为两个独立列表,代码如下:

one = ['allen', 'steve', 'george', 'max']
two = [88.63, 33.99, 72.66, 92.11]

# 配对两个列表,按分数(元组第二个元素)降序排序
sorted_list = sorted(zip(one, two), key=lambda x: x[1], reverse=True)
# 解包为两个独立元组后转列表
one, two = zip(*sorted_list)
one = list(one)
two = list(two)

运行后输出和你要求的结果完全一致:

  • one 结果:['max', 'allen', 'george', 'steve']
  • two 结果:[92.11, 88.63, 72.66, 33.99]

内容的提问来源于stack exchange,提问作者Let'sbecool

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:00:00