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

Python中如何将两个列表做笛卡尔积并拼接为指定格式列表

Python 风格实现方案

下面是两种符合Python惯用写法的实现,比你当前的嵌套循环写法更简洁,执行效率也更高:

方案1:双层列表推导式(无需引入额外依赖,首选方案)

直接用列表推导式替代临时列表+嵌套循环的写法,代码量少可读性强:

first_list = [f"{s}:{f}" for f in first_list for s in second_list]

注意:你的原伪代码循环顺序写反了,会导致输出顺序和预期不符,上述代码已经调整了循环顺序,输出完全匹配你给出的预期结果。

方案2:使用itertools.product实现(适合明确体现笛卡尔积语义、或后续要扩展多列表笛卡尔积的场景)

如果希望代码明确体现笛卡尔积的计算逻辑,可以用Python标准库的itertools.product工具:

from itertools import product

first_list = [f"{s}:{f}" for f, s in product(first_list, second_list)]

两种方案都使用了Python 3.6+版本推荐的f-string做字符串格式化,比用+拼接字符串的写法更易读,性能也更优,同时不需要额外声明临时变量,代码更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:54:07