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

如何合并任意数量[浮点数,字符串]嵌套列表并按浮点数排序

实现任意数量嵌套二元组列表的合并与排序

实现思路

  • 用Python的可变参数*args接收任意数量的输入列表,无需提前确定输入列表总数
  • 遍历所有输入列表,将所有二元组元素合并到同一个列表中,无需提前知道单个列表的元素个数
  • 调用列表的sort方法,指定排序依据为二元组的第一个元素(浮点数)

代码实现

原生无依赖版本

def merge_and_sort(*input_lists):
    # 合并所有输入列表的元素
    merged_list = []
    for lst in input_lists:
        merged_list.extend(lst)
    # 按二元组的浮点数升序排序
    merged_list.sort(key=lambda item: item[0])
    return merged_list

简洁版(依赖标准库itertools)

import itertools

def merge_and_sort(*input_lists):
    merged_list = list(itertools.chain.from_iterable(input_lists))
    merged_list.sort(key=lambda item: item[0])
    return merged_list

测试示例

# 示例输入
a = [[4.0, "hello"], [3.5, "world"]]
b = [[1.1, "stack"], [2.1, "overflow"], [10.0, "love"], [0.5, "python"]]
c = [[5.6, "programming"]]

# 调用函数
final = merge_and_sort(a, b, c)
print(final)

输出结果:

[[0.5, 'python'], [1.1, 'stack'], [2.1, 'overflow'], [3.5, 'world'], [4.0, 'hello'], [5.6, 'programming'], [10.0, 'love']]

边界情况说明

  • 支持输入空列表:若某个输入列表无元素,会自动跳过不影响结果
  • 支持常规浮点数排序场景,若有高精度特殊需求可自行调整排序key的处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:06:04