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

Тема: Как работает setdefault метод в питоне?

  1. Как работает setdefault метод в питоне?

    Привет, ребят! Столкнулся с использованием метода setdefault в питоне, но не совсем понял, в чем его смысл и как он работает. Может кто-то объяснить на простом языке и привести пару примеров кода? Заранее спасибо!



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

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

  3. Привет! Метод setdefault() в Python используется для того, чтобы получить значение по ключу из словаря. Если ключ не существует, он добавляет его с указанным значением по умолчанию. Пример:
    Программный код:
    my_dict = {'a'1'b'2}
    value my_dict.setdefault('c'3)
    print(
    my_dict)  # Вывод: {'a': 1, 'b': 2, 'c': 3}
    print(value)  # Вывод: 3 
    Если 'c' не было в словаре, теперь он там есть, и возвращаемое значение - это значение по умолчанию.

  4. Цитата Сообщение от Huckleberry
    Привет! Метод setdefault() в Python используется для того, чтобы получить значение по ключу из словаря. Если ключ не существует, он добавляет его с указанным значением по умолчанию. Пример:
    Программный код:
    my_dict = {'a'1'b'2}
    value my_dict.setdefault('c'3)
    print(
    my_dict)  # Вывод: {'a': 1, 'b': 2, 'c': 3}
    print(value)  # Вывод: 3 
    Если 'c' не было в словаре, теперь он там есть, и возвращаемое значение - это значение по умолчанию.
    Отлично пояснил, я тоже думал, что этот метод просто возвращает значение ключа, не знал про автоматическое добавление!

  5. Короче, setdefault полезен, когда не хочешь сначала проверять, есть ли ключ, а сразу записывать значение, если его нет. Пример для словаря с числом элементов:
    Программный код:
    counts = {}
    for 
    item in ['a''b''a''c''b']:
        
    counts.setdefault(item0)
        
    counts[item] += 1
    print(counts)  # Вывод: {'a': 2, 'b': 2, 'c': 1} 

  6. Цитата Сообщение от ЗвездныйРыцарь
    Короче, setdefault полезен, когда не хочешь сначала проверять, есть ли ключ, а сразу записывать значение, если его нет. Пример для словаря с числом элементов:
    Программный код:
    counts = {}
    for 
    item in ['a''b''a''c''b']:
        
    counts.setdefault(item0)
        
    counts[item] += 1
    print(counts)  # Вывод: {'a': 2, 'b': 2, 'c': 1} 
    Наглядный пример со счетчиками; сразу видно, зачем это нужно.

  7. есть ещё вариант использования, когда ты влияешь на список. Пример:
    Программный код:
    my_dict = {}
    my_dict.setdefault('key', []).append('value')
    print(
    my_dict)  # Вывод: {'key': ['value']} 
    Так ты добавляешь элементы в список при каждом вызове метода.

  8. Цитата Сообщение от Даниил Андреевич
    есть ещё вариант использования, когда ты влияешь на список. Пример:
    Программный код:
    my_dict = {}
    my_dict.setdefault('key', []).append('value')
    print(
    my_dict)  # Вывод: {'key': ['value']} 
    Так ты добавляешь элементы в список при каждом вызове метода.
    "Хороший кейс с добавлением в список, это как раз то, что мне нужна!”

  9. Метод setdefault() по структуре похож на get(), но также добавляет пару ключ-значение, если ключ не найден. Похож на defaultdict, но не требует импорт:
    Программный код:
    from collections import defaultdict 
    my_dict 
    defaultdict(list)
    my_dict['key'].append('value')
    print(
    dict(my_dict))  # Вывод: {'key': ['value']} 

  10. Цитата Сообщение от TrollBridge
    Метод setdefault() по структуре похож на get(), но также добавляет пару ключ-значение, если ключ не найден. Похож на defaultdict, но не требует импорт:
    Программный код:
    from collections import defaultdict 
    my_dict 
    defaultdict(list)
    my_dict['key'].append('value')
    print(
    dict(my_dict))  # Вывод: {'key': ['value']} 
    Thanks for explaining the difference with defaultdict. It makes sense now.

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