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

Python如何将包含重复serial键的列表转换为单个字典

解决方案

你可以直接用Python内置的enumerate()函数实现转换,最简单的写法是字典推导式,代码如下:

# 原始数据
List_A = [{'serial': '8BQZ-CCSU-XY36'}, {'serial': 'IEAJ-NVIS-VMKM'}, {'serial': '1ZQN-FXHB-FTXT'}]

# 转换逻辑,enumerate的start参数设为1让序号从1开始计数
serial_dict = {f"serial{i}": item['serial'] for i, item in enumerate(List_A, start=1)}

执行后得到的serial_dict就是你需要的目标格式:

{'serial1': '8BQZ-CCSU-XY36', 'serial2': 'IEAJ-NVIS-VMKM', 'serial3': '1ZQN-FXHB-FTXT'}

如果你不习惯用推导式,也可以用普通循环实现,逻辑完全一致:

serial_dict = {}
# 遍历列表时生成从1开始的序号
for index, item in enumerate(List_A, start=1):
    key_name = f"serial{index}"
    serial_dict[key_name] = item['serial']

如果需要兼容列表元素可能不存在serial键的场景,可以用字典的get方法避免抛出KeyError异常:

serial_dict = {
    f"serial{i}": item.get('serial', '') 
    for i, item in enumerate(List_A, start=1)
}

Django传递使用说明

你在视图函数中完成转换后,把生成的字典放入模板上下文即可正常使用,示例代码:

from django.shortcuts import render

def your_view(request):
    List_A = [{'serial': '8BQZ-CCSU-XY36'}, {'serial': 'IEAJ-NVIS-VMKM'}, {'serial': '1ZQN-FXHB-FTXT'}]
    serial_dict = {f"serial{i}": item['serial'] for i, item in enumerate(List_A, start=1)}
    # 传入模板上下文
    return render(request, '你的模板文件名.html', {'serial_dict': serial_dict})

在模板中可以直接通过字典键名取值,比如{{ serial_dict.serial1 }}就可以拿到第一个序列号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:45:06