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

如何将两个列表交错合并为带冒号格式的目标列表?

问题描述

现有列表:

a = ['a', 'b', 'c']
b = [10, 20, 30]

期望输出格式为 [[a:10], [b:20], [c:30]]。

目前使用zip方法实现交错合并的代码如下:

l = []
for x,y in zip(a,b):
    l.append([x,y])

但输出结果为 [['a', 10], ['b', 20], ['c', 30]],不符合带冒号的格式,需要修改代码得到目标格式。

解决方法

你要的[x:y]格式本质是字符串形式的内容——Python原生语法里不存在[a:10]这种列表元素结构(会触发语法错误),所以必须把x和y拼接成带冒号的字符串,再放入子列表中。

修改后的代码:

a = ['a', 'b', 'c']
b = [10, 20, 30]

l = []
for x, y in zip(a, b):
    # 拼接成"x:y"格式的字符串,再放入子列表
    l.append([f"{x}:{y}"])

print(l)  # 输出:[['a:10'], ['b:20'], ['c:30']]

如果想简化写法,可以用列表推导式:

a = ['a', 'b', 'c']
b = [10, 20, 30]

l = [[f"{x}:{y}"] for x, y in zip(a, b)]
print(l)

补充:如果你的真实需求是存储键值对而非字符串,建议使用字典结构(比如{'a':10}),这才是Python中存储键值映射的标准方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:20:46