Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Столкнулся с keyerror в питоне, помогите разобраться

  1. Столкнулся с keyerror в питоне, помогите разобраться

    Пацаны, привет! Пытаюсь достучаться до ключа в словаре в питоне, но постоянно ловлю KeyError. Что я делаю не так? Вот кусок моего кода, может кто-то подскажет, как чинить? Может, надо как-то по-другому работать с dict? Новый в этом всём деле, еще толком не разбирался с документацией ?

    Программный код:
    my_dict = {'name''Alice''age'28}
    print(
    my_dict['gender']) 



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! У тебя ключ 'gender' отсутсвует в словаре, потому и выдает KeyError. Можно использовать метод `.get()` для избежания ошибки:
    Программный код:
    my_dict = {'name''Alice''age'28}
    print(
    my_dict.get('gender''Key not found')) 
    Тогда вернется строчка 'Key not found', если ключа в словаре нет. Удачи!

  4. Цитата Сообщение от MoonGoddess606
    Привет! У тебя ключ 'gender' отсутсвует в словаре, потому и выдает KeyError. Можно использовать метод `.get()` для избежания ошибки:
    Программный код:
    my_dict = {'name''Alice''age'28}
    print(
    my_dict.get('gender''Key not found')) 
    Тогда вернется строчка 'Key not found', если ключа в словаре нет. Удачи!
    О, спасибо за пояснение! Это чисто то что я искал. Попробовал `.get()`, и работает как надо. Сейчас поставлю во всех своих проектики то же самое.

  5. А может быть, подумай про использование исключений. Это такой вид контроля ошибок в питоне:
    Программный код:
    my_dict = {'name''Alice''age'28}
    try:
        print(
    my_dict['gender'])
    except KeyError:
        print(
    'Key not found'
    Это тоже помогает не ловить KeyError, если ключа нет.

  6. Цитата Сообщение от Владимир ГЛ
    А может быть, подумай про использование исключений. Это такой вид контроля ошибок в питоне:
    Программный код:
    my_dict = {'name''Alice''age'28}
    try:
        print(
    my_dict['gender'])
    except KeyError:
        print(
    'Key not found'
    Это тоже помогает не ловить KeyError, если ключа нет.
    Не знал, что можно через try-except такое провернуть. Спасибо! Попробую это тоже.

  7. В словарях стоит заранее проверять наличие ключа оператором `in`:
    Программный код:
    my_dict = {'name''Alice''age'28}
    if 
    'gender' in my_dict:
        print(
    my_dict['gender'])
    else:
        print(
    'Key not found'
    Так можно вообще избежать KeyError.

  8. Цитата Сообщение от IcePhoenix
    В словарях стоит заранее проверять наличие ключа оператором `in`:
    Программный код:
    my_dict = {'name''Alice''age'28}
    if 
    'gender' in my_dict:
        print(
    my_dict['gender'])
    else:
        print(
    'Key not found'
    Так можно вообще избежать KeyError.
    Лол, вот это по-дружески! На самом деле проверка наличия ключа перед использованием – хороший совет! Спасиб!

  9. Привет! Еще вариант - использовать defaultdict из модуля collections, особенно если ключи могут быть нестандартные:
    Программный код:
    from collections import defaultdict

    my_dict 
    defaultdict(lambda'Key not found')
    my_dict.update({'name''Alice''age'28})
    print(
    my_dict['gender']) 
    Тоже не выбросит KeyError, а вернет дефолтное значение.

  10. Цитата Сообщение от donerec
    Привет! Еще вариант - использовать defaultdict из модуля collections, особенно если ключи могут быть нестандартные:
    Программный код:
    from collections import defaultdict

    my_dict 
    defaultdict(lambda'Key not found')
    my_dict.update({'name''Alice''age'28})
    print(
    my_dict['gender']) 
    Тоже не выбросит KeyError, а вернет дефолтное значение.
    Ого, не знал про defaultdict. Местами это прям спасение. Нужно будет как-нибудь поэксперементировать. Спс, чувак.

Страница 1 из 2 12 ПоследняяПоследняя