2013-11-18 3 views
-1

У меня возникли трудности с пониманием чего-то в dictionaoris. Если у меня есть один большой словарь, как это:Проблемы со словарем python

d = {'k1': ['v1', 'v2'], 'k2': ['v3'], 'k3': ['v4', 'v5', 'v6'], 'k4': ['v7', 'v8'], 'k5': ['v9', 'v10']} 

Теперь я хотел бы создать функцию:

def a_func(d) 

И эта функция будет проверять, по крайней мере, один из ключей (k1/k2/k3 ...) включено значение другого ключа, а затем проверить, является ли «другой ключ» одним из значений «первого ключа». Если да, то напечатайте «OK».

Теперь, я думал о:

for key1 in d.items(): 
    for key2 in d[i+1]: 
     if d[key1] == d[key2]: 
      print "OK" 

Но это не работает хорошо. Любая помощь, пожалуйста?

+0

Что 'i' вар? – TerryA

+0

напишите полный код – Rami

+0

Пожалуйста, покажите ожидаемый образец dict и output. В противном случае трудно сказать, что должна делать ваша программа. – sashkello

ответ

1

Помните, что dict.items() возвращает список кортежей, где первым значением в кортеже является ключ, а второй - значение.

Try:

def a_func(d): 
    for k, v in d.items(): 
     for k2, v2 in d.items(): 
      if k in v2 and k2 in d[k]: 
       return "OK" 
+0

Dictionariy не находится в функции, это вне его. – user3003650

+0

@ user3003650 Я не уверен, что вы говорите, но я отредактировал свой ответ – TerryA

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