2013-11-16 2 views
0

Если у меня есть словарь, как это:питона dictionaires ключи и значения

dict = {'a': ['Menny','Adam'], 'b': ['Steff','Bentz', 'Arik'], 'c': ['Helen','Stephonich', 'Marry', 'Kenny', 'Mike', 'Pring'] 

и так далее.

Я хочу сделать функцию, которая подсчитывает, сколько значений есть на клавише. Например:

>>> func(d, a)

>>> 2

>>> func(d, c)

>>> 6

Я знаю, что нужно использовать d.values, SUM (LEN (значения)) или что-то вроде этого, но я не знаю, как это сделать. , пожалуйста, помогите мне. Спасибо.

Это для большого проекта, над которым я работаю, и я застрял. Еще раз спасибо.

ответ

3

Fisrt Я полагаю, что вы должны прочитать некоторые питона учебники, если ваш есть большой проект, чтобы написать, но до сих пор не знаю, основное использование питона.

  1. Вы не должны использовать dict для ссылки на словарь. dict - ключевое слово python. Так же, как вы бы не определить переменную, имя которого int в С.

  2. Если вы просто хотите, чтобы получить длину итерацию объекта просто использовать Len(). он возвращает объект int. И функция sum() возвращает сумму итерируемого объекта. Поэтому вы не можете использовать sum(len(your_dict)), это как sum (4) `и ничего не вернет.

  3. Ваш dict.value не является юридической функцией или шт. Используйте dict.values(), который возвращает кортеж, содержащий каждое значение в паре ключ-значение, аналогично dict.keys() возвращает все ключи как кортеж.

2
mydict = {'a': [4,'Adam'], 'b': [3,'John', 4], 'c': [4,'Stephonich', 3, 8, 8, 34]} 

def func(myDict, key): 
    return len(myDict[key]) 

print func(mydict, "a") 
print func(mydict, "b") 
print func(mydict, "c") 

Выход

2 
3 
6 
+0

это было быстро :) – sukunrt

+0

OK, спасибо. и если я хочу проверить, есть ли какой-то валус, который является общим между двумя значениями, что мне делать? – user2969278

+0

@ user2969278 Это будет отдельный вопрос, я верю, поэтому, пожалуйста, отправьте другой вопрос с этим требованием. Пожалуйста, подумайте о принятии этого ответа, если он поможет вам http://meta.stackexchange.com/a/5235/235416 – thefourtheye

Смежные вопросы