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

如何在Python中动态生成指定规则的字典 无需静态定义所有键值

Python动态生成目标字典的实现方法

你可以通过字典推导式结合规则映射完成动态生成,不需要手动逐个定义键值对,不同场景可以选择对应方案:

  • 场景1:磁盘数量不超过26个
    直接利用小写字母的ASCII码规律生成,代码最简洁:

    # 可按需调整磁盘总数量total_disk的值
    total_disk = 5
    disk_dict = {f"Disk{i}": f"dev{chr(ord('a') + i -1)}" for i in range(1, total_disk +1)}
    

    执行后生成的结构完全匹配你要求的{"Disk1" : "deva", "Disk2" :"devb" , "Disk3": "devc"...}格式。

  • 场景2:磁盘数量超过26个,需要和Linux磁盘命名规则对齐(支持devaa、devab这类后缀)
    先写一个小工具函数把数字转换为无0的26进制字母序列,再生成字典:

    def num_to_letter(num: int) -> str:
        res = []
        while num > 0:
            num, mod = divmod(num -1, 26)
            res.append(chr(ord('a') + mod))
        return "".join(reversed(res))
    
    total_disk = 30
    disk_dict = {f"Disk{i}": f"dev{num_to_letter(i)}" for i in range(1, total_disk +1)}
    
  • 场景3:已经提前获取到所有dev设备名的列表
    直接基于列表索引生成对应映射即可:

    # 示例dev设备列表,可替换为你实际从系统读取的结果
    dev_list = ["deva", "devb", "devc", "sda", "sdb"]
    disk_dict = {f"Disk{idx+1}": dev_name for idx, dev_name in enumerate(dev_list)}
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:15:03