2017-02-21 2 views
0

dictに値を追加し、キーが存在する場合は単純if文を値に+1して、dictに値を追加し、キーがすでにdict(python)にある場合はリストアイテムの値を1つ増やします

d = {word: (frequency, wordList[1]) for frequency, word in sorteddict} 
for key, value in d.items(): 
    my_dict[key, value] = my_dict[key, value] + 1 if key in my_dict else value 

dict "my_dict"にすべてのキー値のペアを追加するdict "d"を繰り返していきたいと思います。

私が抱えている問題は、辞書のキー:リストのペアであり、キーが存在する場合にのみリスト[0]の値を増やしたいということです。たとえば:

d = {'smith': (1, 'jones')} 

my_dict = {'smith': (2, 'jones')} 

my_dictはすでにキーが「Smith」を含むので、ロジックは次のようになります。

+ 1 to list[0] else 1 
+0

タプルの2番目の値は何ですか? –

+1

これらのリストはありません、これらはタプルです!増分タプルはできません! – Nullman

+0

質問が分かりにくいです。このようなことを意味しましたか? d.items()のx、yの '{x:(y [0] +1、y [1])} ' – Nullman

答えて

1

質問と答え明確にする: を問題は2枚のdicts dがあるということです,my_dict。各値は2つの項目を含むタプルです。 dのキーと値を持つ新しいdictを生成することですが、キーがmy_dictに存在する場合は、値タプルの最初の項目が1増加し、そうでない場合は1に設定されます。

{x: (y[0] + 1 if x in my_dict else 1, y[1]) for x, y in d.items()} 
関連する問題