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

如何用列表推导式实现嵌套列表的数值提取(类FizzBuzz写法)?

嵌套列表的数值提取解决方案

给定列表:

l = ["Sai", "prasad", 1234, 12.34, [1, 2, 3, 4]]

需要提取其中所有整数、浮点数(包括嵌套列表内的对应元素),预期输出:[1234, 12.34, 1, 2, 3, 4]。

以下是符合要求的列表推导式实现:

result = [num for item in l for num in (item if isinstance(item, list) else [item]) if isinstance(num, (int, float))]

逻辑说明

  • 第一层遍历for item in l:逐个处理原列表中的每个元素
  • 第二层遍历for num in (item if isinstance(item, list) else [item]):
    • 若当前元素是列表,则直接遍历其内部元素
    • 若不是列表,将单个元素包装为列表,统一遍历逻辑
  • 条件筛选if isinstance(num, (int, float)):仅保留整数和浮点数类型的元素

执行后即可得到预期的提取结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:03:10