“int”对象在字典python2.7中没有属性“update”dictionary

2024-09-27 07:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我尽我最大的努力在这个网站上寻找类似的问题,并翻阅手册。不幸的是,经过几个小时和轻微的头痛我放弃了。。。这是一个很大的菜鸟问题,但将感谢任何帮助!!!在

我有一张单子:

PriceList = [['WGH', 'A1', 100], ['WGH', 'A2', 125], ['WGH', 'A3', 150],
             ['RIE', 'A1', 75], ['RIE', 'A2', 125]]

我正在尝试将其转换为如下所示的词典:

^{pr2}$

到目前为止,我试着:

PriceList = [['WGH', 'A1', 100], ['WGH', 'A2', 125], ['WGH', 'A3', 150],
             ['RIE', 'A1', 75], ['RIE', 'A2', 125]]

Dict1 = {c[0]:0 for c in PriceList}
Dict2 = {c[0]:0 for c in PriceList}

for line in PriceList:
    addition = {line[0]:{line[1]:line[2]}}
    addition2 = {line[1]:line[2]}

    print addition
    print addition2

    Dict1.update(addition)
    #Dict2[line[0]].update(addition2)

打印语句只是为了确保数据被转换成字典

“Dict1.update(addition)”行是我能得到的最接近的一行,但它只给出了每个键的最后一条记录。在

我正在处理的是哈希代码行,如果尝试运行它,我会得到:

AttributeError: 'int' object has no attribute 'update'

我想这与我尝试使用Dict[line[0]]有关,但现在确定了如何解决它。在

如果您需要更多信息,请告诉我,并提前感谢您的任何帮助。在


Tags: ina2fora1lineupdatepricelista3
1条回答
网友
1楼 · 发布于 2024-09-27 07:17:41

您已经构建了包含整数的字典:

Dict1 = {c[0]:0 for c in PriceList}

如果它们应该包含字典,那么请创建它们:

^{pr2}$

现在可以在循环中更新这些词典:

for line in PriceList:
    Dict1[line[0]][line[1]] = line[2]

演示:

>>> PriceList = [['WGH', 'A1', 100], ['WGH', 'A2', 125], ['WGH', 'A3', 150],
...              ['RIE', 'A1', 75], ['RIE', 'A2', 125]]
>>> Dict1 = {c[0]: {} for c in PriceList}
>>> for line in PriceList:
...     Dict1[line[0]][line[1]] = line[2]
... 
>>> Dict1
{'RIE': {'A1': 75, 'A2': 125}, 'WGH': {'A1': 100, 'A3': 150, 'A2': 125}}

相关问题 更多 >

    热门问题