ошибка в f строке

#list
pets = []

#dict
info = {
'harchok' : {
    'owner':'josh',
    'kind':'blu'
    },

    'mishutka' : {
    'owner':'malina',
    'kind':'pink'
     },

    'human' : {
    'owner':'artyem',
    'kind':'husky'
    }
}
#list_dict
pets.append(info)

for kay, value in pets:
l = (f'\n{kay}: \t{kay['owner']} \t{kay['kind']}')
print(l)

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Zhihar

потому что код написан неправильно

вот исправленный

#list
pets = []

#dict
info = {
'harchok' : {
    'owner':'josh',
    'kind':'blu'
    },

    'mishutka' : {
    'owner':'malina',
    'kind':'pink'
     },

    'human' : {
    'owner':'artyem',
    'kind':'husky'
    }
}
#list_dict
pets.append(info)

for obj in pets:
    for  kay, value in obj.items():
        l = f'{kay}: \t{value["owner"]} \t{value["kind"]}'
        print(l)

вы вообще лишнего напихали (я это не стал вычищать)

P.S.

а kay - это в смысле key?

P.P.S.

ваши ошибки:

  1. в строке с ' вы внутри используете ' без экранирования, ограничивайте строку ', а внутри используйте " или наоборот

  2. вы в список добавляете словарь, а обращаетесь к списку как к словарю, надо выбирать из списка элементы (он там 1) и уже к ним обращаться как к словарям или вообще не использовать список

  3. если уж выбираете из словаря ключ и значение, так и указывайте питону что именно это надо выбрать, иначе он в for просто выбирает ключи

→ Ссылка