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

Тема: Как использовать setdefault python 3 для словарей?

  1. Как использовать setdefault python 3 для словарей?

    Ребята, нужна помощь! Пытаюсь понять, как правильно юзать метод setdefault в Python 3 для работы со словарями. Кто-нибудь может объяснить его особенности и привести примеры? В доке вроде всё понятно, но хочется увидеть примерчики из жизни, ну и чтобы не мозолить глаза сложными описаниями. Спасибо!



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

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

  3. Чтобы юзать setdefault в Python 3, ты можешь сделать примерно вот так:

    Программный код:
    \# создаем словарь
    user_info = {'name''Alice''age'25}

    \
    # setdefault вставит ключ 'city' со значением 'Unknown', если его нет в словаре
    city user_info.setdefault('city''Unknown')

    print(
    user_info)
    \
    # Результат: {'name': 'Alice', 'age': 25, 'city': 'Unknown'} 
    Этот метод хорош, чтобы избежать KeyError и дефолтно подтянуть значение, если ключа нет.

  4. Цитата Сообщение от Ахиллес
    Чтобы юзать setdefault в Python 3, ты можешь сделать примерно вот так:

    Программный код:
    \# создаем словарь
    user_info = {'name''Alice''age'25}

    \
    # setdefault вставит ключ 'city' со значением 'Unknown', если его нет в словаре
    city user_info.setdefault('city''Unknown')

    print(
    user_info)
    \
    # Результат: {'name': 'Alice', 'age': 25, 'city': 'Unknown'} 
    Этот метод хорош, чтобы избежать KeyError и дефолтно подтянуть значение, если ключа нет.
    О, видно сразу - код чисты, без багов. Всегда юзал, так проще с багами бороться. Всё гениальное просто!

  5. Я часто юзаю setdefault для подсчёта значений:

    Программный код:
    \# Подсчёт количества встречаемых элементов
    elements = ['яблоко''банан''апельсин''яблоко''банан']
    count = {}
    for 
    elem in elements:
        
    count[elem] = count.setdefault(elem0) + 1

    print(count)
    \
    # Результат: {'яблоко': 2, 'банан': 2, 'апельсин': 1} 

  6. Цитата Сообщение от BoomBoom
    Я часто юзаю setdefault для подсчёта значений:

    Программный код:
    \# Подсчёт количества встречаемых элементов
    elements = ['яблоко''банан''апельсин''яблоко''банан']
    count = {}
    for 
    elem in elements:
        
    count[elem] = count.setdefault(elem0) + 1

    print(count)
    \
    # Результат: {'яблоко': 2, 'банан': 2, 'апельсин': 1} 
    Хех, прикольный трюк для подсчёта! Респект за объяснение с элементами

  7. Я делаю по-другому, чтобы не путаться:

    Программный код:
    \# Допустим, создаём словарь настроек пользователя
    user_prefs = {}
    default_prefs = {'theme''light''lang''en'}
    for 
    keyvalue in default_prefs.items():
        
    user_prefs.setdefault(keyvalue)

    print(
    user_prefs)
    \
    # Результат: {'theme': 'light', 'lang': 'en'} 
    Зачастую юзается, чтобы установить дефолтные значения настроек.

  8. Цитата Сообщение от Алексей Волков
    Я делаю по-другому, чтобы не путаться:

    Программный код:
    \# Допустим, создаём словарь настроек пользователя
    user_prefs = {}
    default_prefs = {'theme''light''lang''en'}
    for 
    keyvalue in default_prefs.items():
        
    user_prefs.setdefault(keyvalue)

    print(
    user_prefs)
    \
    # Результат: {'theme': 'light', 'lang': 'en'} 
    Зачастую юзается, чтобы установить дефолтные значения настроек.
    Концепт ясный, очень полезно для инициализации! Юзал так, когда настраивал дефолтные значения.

  9. Метод setdefault - моя палочка-выручалочка для работы с вложенными словарями:

    Программный код:
    \# Пример вложенного словаря
    data = {'user1': {'name''Alice'}}
    user2 data.setdefault('user2', {})
    user2.setdefault('name''Bob')

    print(
    data)
    \
    # Результат: {'user1': {'name': 'Alice'}, 'user2': {'name': 'Bob'}} 
    Особенно удобно, когда ключи могут отсутствовать.

  10. Цитата Сообщение от Затмение
    Метод setdefault - моя палочка-выручалочка для работы с вложенными словарями:

    Программный код:
    \# Пример вложенного словаря
    data = {'user1': {'name''Alice'}}
    user2 data.setdefault('user2', {})
    user2.setdefault('name''Bob')

    print(
    data)
    \
    # Результат: {'user1': {'name': 'Alice'}, 'user2': {'name': 'Bob'}} 
    Особенно удобно, когда ключи могут отсутствовать.
    Вложения всегда головняк. В твоем примере прямо всё на ладони разобрано, респект!

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