Как передать ключ и его значение из словаря через функцию - PullRequest
0 голосов
/ 19 июня 2020

Мне любопытно, как я могу передать ключ и его значение из словаря через функцию. Следующий код является примером того, что я пытаюсь сделать:

dictionary: {
    'apple': 1,
    'pear': 2,
    'strawberry': 3
}

def my_function(fruit, num):
    print(fruit)
    print(num)

Ответы [ 4 ]

1 голос
/ 19 июня 2020

Функция выводит информацию о парах ключ / значение. dict.items выполняет итерацию пар ключ / значение.
Похоже, отличный матч.

dictionary = {
    'apple': 1,
    'pear': 2,
    'strawberry': 3
}

def my_function(fruit, num):
    print(fruit)
    print(num)

for fruit, num in dictionary.items():
    my_function(fruit, num)
0 голосов
/ 20 июня 2020

Вначале хочу обратить ваше внимание, что вы по ошибке используете ':' вместо '=' при добавлении ключей-значений в словарь. (ПЕРВАЯ СТРОКА)

Теперь давайте перейдем к сути, есть несколько способов решить эту проблему, например dict.items() следующим образом:

Метод 1-й:

def myDict(dict):
    for fruit , num in dict.items(): #dict.item(), returns keys & val to Fruit& num 
    print(fruit+" : "+str(num))   # str(num) is used to concatenate string to string.


dict = {'apple':1,'pear':2,'strawberry':3}         
res = myDict(dict)
print(res)                              *#result showing*

**OUTPUT :**

apple : 1 
pear : 2 
strawberry : 3

МЕТОД: 2

dictionary = {
    'apple': 1,
    'pear': 2,
    'strawberry': 3 }

def MyDict(key,value):
   print (key+" : "+str(value))   # str(num) is used to concatenate string to string.

for fruits , nums in dictionary.items():
    MyDict(fruits,nums)                   # calling function in a loop

    OUTPUT :
    apple : 1
    pear : 2
    strawberry : 3

Надеюсь, это вам поможет .. Спасибо

0 голосов
/ 19 июня 2020

Вы можете использовать dict.keys():

dictionary = {
    'apple': 1,
    'pear': 2,
    'strawberry': 3
}

def my_function(fruit, num):
    print(fruit,end=' ')
    print(num)

for fruit in dictionary.keys():
    my_function(fruit, dictionary[fruit])

Вывод:

apple 1
pear 2
strawberry 3
0 голосов
/ 19 июня 2020

В вашем коде есть одна ошибка, вы должны использовать = вместо : для назначения словаря.

Вы можете просто передать dictionary функции:

dictionary = {
    'apple': 1,
    'pear': 2,
    'strawberry': 3
}

def my_function(key, value):
    print(key, value)

for key, value in dictionary.items():
    my_function(key, value)
...