python - 随着应用程序的进展逐步构建一组记录

标签 python data-structures

我有一个系统管理员类型的 CLI 应用程序,它从配置文件中读取信息。我无法更改以下配置文件的格式。

TYPE_A = "value1,value2,value2"
TYPE_A = "value3,value4,value5"
TYPE_B = "valuex,valuey,valuez"

根据 TYPE,我需要对每一个进行一些初始处理。完成所有步骤后,我需要做一些额外的处理,并根据选择的选项打印状态和预期操作或执行这些操作。

我想将配置初始解析为字典列表的字典,并更新 TYPE_ATYPE_BTYPE_C< 的每个实例 等所有相关信息。然后打印完整状态或执行操作(或者如果某些状态不正确则失败)

我的想法是它看起来像:

dict
    TYPE_A_list
        dict_A[0] key:value,key:value,key:value
        dict_A[1] key:value,key:value,key:value
    TYPE_B_list
        dict_A[0] key:value,key:value,key:value
        dict_A[1] key:value,key:value,key:value

我想我想将配置读入其中,然后在应用程序运行和重新处理每个 TYPE 时添加键和值或更新值。

最后是我的问题。

  1. 我不确定如何遍历每个字典列表或添加列表元素以及添加或更新键值对。
  2. 我上面描述的是解决这个问题的最佳方法吗?

我是 Python 的新手,所以我愿意接受任何建议。 FWIW,这将是 python 2.6。

关于配置文件行的一些说明

    CAR_TYPE = "Ford,Mustang,Blue,2005"
    CAR_TYPE = "Honda,Accord,Green,2009"
    BIKE_TYPE = "Honda,VTX,Black,2006"
    BIKE_TYPE = "Harley,Sportster,Red,2010"
    TIRE_TYPE = "170R15,whitewall"
    
每种类型将具有相同的顺序和值的数量。

最佳答案

无需“记住”有两种不同的 TYPE_A 分配 - 您可以将它们组合起来。

TYPE_A = "value1,value2,value2"
TYPE_A = "value3,value4,value5"

将被解析为其中之一,或两者,取决于您的系统管理员 CLI 应用程序的实现。

那么数据模型应该是:

dict
    TYPE_A: list(value1, value2, value3)
    TYPE_B: list(valuex, valuey, valuez)

这样,您就可以很容易地遍历 dict.items():

for _type, values in dict.items():
    for value in values:
        print "%s: %s" % (_type, value)
        # or whatever you wish to do

关于python - 随着应用程序的进展逐步构建一组记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10359815/

相关文章:

c++ - k叉树的宽度

python - 实现合并排序算法以升序对数字列表进行排序

python - 将 2+ 个 mock.patch 合二为一

python、pandas、数据框、行到列

python - 对序列进行数学求和

python - 分配多索引列,同时保留索引级别值的顺序

c - 具有低内存要求的渐近快速关联数组

python - (Python) 使用原始输入停止线程?

c - C中二叉树内部和外部节点的表示

python - 在 Python 中存储集合数据的最佳方式是什么?