所以我正在参加一个以圣诞节为主题的学校项目并且有点卡住了。 从简介来看,该计划旨在向儿童提供礼物,因此我试图从这个列表中一次删除一个礼物:
Presents = [["Toys",10],["Games",5],["Sweets",15]]
但是,我还没有找到办法,因为我似乎无法从这个嵌套列表的一个部分减去一个单数。
简单来说,可以从这个列表中找到:
Presents = [["Toys",10],["Games",5],["Sweets",15]]
例如,只需删除一个玩具,然后以列表
结束Presents = [["Toys",9],["Games",5],["Sweets",15]]
而不是玩具10。
如果是这样,请有人帮助我,因为这很快就会到期
提前谢谢
答案 0 :(得分:0)
您应该在这里使用collections.OrderedDict
。您可以将其转换为dict:
>>> from collections import OrderedDict # To also maintain order of original list
>>> Presents = [["Toys",10],["Games",5],["Sweets",15]]
>>> my_dict = OrderedDict(Presents)
>>> my_dict
OrderedDict([('Toys', 10), ('Games', 5), ('Sweets', 15)])
然后,要减少"Toys"
键的值,请执行:
>>> my_dict['Toys'] -= 1
>>> my_dict['Toys']
9
要将其转换回list
tuples
,请将dict.items()
称为:
>>> list(my_dict.items())
[('Toys', 9), ('Games', 5), ('Sweets', 15)]