Я должен вычесть из словарных значений.

list1 = {'i': 1, 'k': 1, 'j': 1, 'o': 2, 'q': 1, 's': 1, 'x': 1, 'z': 1}
string = 'ikjoosgx'
for letter in string:
I NEED TO DECREASE list1 key of same name as letter VALUE BY 1. DIPSIT!
-2
5brickbomzh 29 Янв 2013 в 12:53

5 ответов

Лучший ответ
for letter in string:
    list1[letter] = list1[letter] - 1
0
Calum 29 Янв 2013 в 08:58

Если я правильно понял ваш вопрос, вы хотите это:

list1 = {'i': 1, 'k': 1, 'j': 1, 'o': 2, 'q': 1, 's': 1, 'x': 1, 'z': 1}
string = 'ikjoosgx'
for letter in string:
    if letter in list1:
        list1[letter] -= 1

print list1
>>> {'q': 1, 's': 0, 'z': 1, 'i': 0, 'x': 0, 'k': 0, 'j': 0, 'o': 0}
1
Jakob 29 Янв 2013 в 09:03

Это просто:

d[key] -= 1

Просто итерируйте ключи:

for letter in string:
    d[letter] -= 1
0
Ber 29 Янв 2013 в 08:55