2016-12-22 5 views
0

私はクリスマスにテーマを絞った学校プロジェクトに取り組んでいて、ちょっと立ち往生しています。簡単から は、プログラムは、子どもたちにプレゼントを届けるためのものですので、私はこのリストから、一度に一つの存在を削除しようとしています。これを行うための方法を見つけるためにネストされたリスト内の特定のアイテムに番号を追加するにはどうすればよいですか?

Presents = [["Toys",10],["Games",5],["Sweets",15]] 

しかし、私はまだ持っています私は、このネストされたリストの1つのセクションからマイナス1つの特異な数字を出すことができないようです。

Presents = [["Toys",10],["Games",5],["Sweets",15]] 

は、例えば、一つだけのおもちゃを削除し

Presents = [["Toys",9],["Games",5],["Sweets",15]] 

の代わりに10として持つ玩具などのリストで終わるために:シンプルで

が、このリストから可能です。

これは非常にすぐに

によるものであるとして、誰かが私を助けることができますしてくださいもしそうならありがとうI n advance

+3

間違ったデータ形式を使用しています。代わりに辞書を使わないのはなぜですか?あるいは、より良いことに、キーごとの金額に特化した辞書である['Counter()'](https://docs.python.org/3/library/collections.html#collections.Counter)を使用してください。 'Present '[Toys'] - = 1'は自明です。 –

+0

私は実際にディクショナリと演奏していませんでしたが、特にカウンターではありませんでしたが、私は間違いなくそれを試みます、ありがとうございます! – Coder11

答えて

0

ここではcollections.OrderedDictを使用してください。 、"Toys"キーの値を小さくするために、次に

>>> 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)]) 

ん:あなたは、これはとのdictに変換することができます

>>> my_dict['Toys'] -= 1 
>>> my_dict['Toys'] 
9 

バックtupleslistに変換する、としてdict.items()を呼び出す:

>>> list(my_dict.items()) 
[('Toys', 9), ('Games', 5), ('Sweets', 15)] 
+0

ありがとう!私は今これを試してみる。 – Coder11

関連する問題