如何使用另一个字典将python中的字典更新为特定键

时间:2016-07-28 05:52:45

标签: python dictionary

我在python中有两个字典,一个包含三个键,一个包含一个键。其中一个关键是两个词典共有,但在键中有不同的数据。我想用三个键将一个键更新到字典。一个键必须替换另一个字典中的现有键。我不知道该怎么做! dictionary.update()有效,但它重复键而不是替换。 这是我的代码:

    orders = {}
    orders2 = {}
    orders[int(code)] = str(name),int(current_stock),int(re_order),int(target_stock),float(price)
    orders2[str(user_code)] = str(orders[user_code][0]), new_stock, orders[user_code][2], str(orders[user_code][3]), str(orders[user_code][4])

现在我想将orders2更新为订单,但如果其中一个" user_code"来自orders2匹配"代码"在订单中,然后而不是仅仅将其更新为代码,我想用" orders2"

替换整个密钥

PS:这些词典来自.txt文件,在这个文件中有3个不同的代码,由用户决定" orders2"中的密钥。

如果需要有关代码的更多信息,请询问。谢谢!

第一个输出是:

{56756777:(' 100毫米螺栓',15,5,40,0.2),34512340 :('普通括号',20,5,35,0.5),90673412 :(' L形括号',16,5,45,1.2)}

第二个输出是(可能不同):

{' 34512340':('简单括号',10,5,' 35',' 0.5')}

所以我想要更换" 34512340"键

     orders.update(orders2)
        print(orders)

此印刷品(订单):

{56756777:(' 100毫米螺栓',15,5,40,0.2),

' 34512340':('简单括号',10,5,' 35',' 0.5'),

34512340 :('普通括号',20,5,35,0.5),

90673412 :(' L形括号',16,5,45,1.2)}

你看到那两个" 34512340"重复,我希望它取代它。

我想问这个以及我不能再在90分钟内发帖了:

我有一个dicionray,我想将所有数据写入.txt文件。 我希望数据根据密钥逐行排列。 .txt文件已经有一些我想要删除的数据。

    print(orders) #This is my dictionray (This can be varied)

    {56756777: ('100 mm bolts', 15, 5, 40, 0.2), 34512340: ('plain brackets', 10, 5, '35', '0.5'), 90673412: ('L-shaped brackets', 16, 5, 45, 1.2)}

我想通过密钥在.txt文件(我称之为' items.txt')中写下所有这些内容。例如:

我想要钥匙" 56756777"其中包含:" 56756777:(' 100毫米螺栓',15,5,40,0.2)"像这样在一行:

56756777,100 mm螺栓,15,5,40,0.2

由逗号分隔其他2个键

谢谢,您的帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这是smarx的回复:

" @SpeedDemo看起来问题是第二本字典有' 34512340'作为键(一个字符串),第一个字典有34512340作为键(一个int)。如果你使它们都是相同的类型,dict.update应该适合你。 - smarx 3分钟前"

谢谢你的工作