Метод setdefault()
в Python является встроенным методом словаря и используется для возврата значения ключа, если он уже существует в словаре. Если ключ не существует, метод устанавливает значение по умолчанию и возвращает его.
Синтаксис метода setdefault()
в Python выглядит следующим образом:
dictionary.setdefault(keyname, value)
Здесь keyname
— это ключ, который мы ищем в словаре, а value
— это значение, которое будет установлено по умолчанию, если ключ не найден в словаре. Аргумент value
является необязательным. Если он не указан, значение по умолчанию будет None
.
В следующем примере мы ищем ключ age
в словаре. Поскольку ключ age
уже существует в словаре, метод setdefault()
возвращает его текущее значение.
person = {"name": "John", "age": 30}
age = person.setdefault("age")
print(age) # Выведет: 30
В следующем примере мы пытаемся получить значение для ключа country
, которого нет в словаре. В этом случае метод setdefault()
устанавливает значение по умолчанию USA для ключа country
и возвращает это значение.
person = {"name": "John", "age": 30}
country = person.setdefault("country", "USA")
print(country) # Выведет: USA
print(person) # Выведет: {'name': 'John', 'age': 30, 'country': 'USA'}
Метод setdefault()
часто используется для создания словаря, где каждому ключу соответствует список значений. В следующем примере мы создаем словарь, где ключи — это первые буквы слов, а значения — это списки слов, начинающиеся с соответствующей буквы.
words = ["apple", "banana", "cherry", "date", "elderberry", "fig", "grape", "kiwi"]
d = {}
for word in words:
key = word[0]
d.setdefault(key, []).append(word)
print(d)
#{'a': ['apple'], 'b': ['banana'], 'c': ['cherry'], 'd': ['date'], 'e': ['elderberry'], 'f': ['fig'], 'g': ['grape'], 'k': ['kiwi']}
Метод setdefault()
также может быть полезен для подсчета элементов в списке. В следующем примере мы подсчитываем, сколько раз каждое слово появляется в списке.
words = ["apple", "banana", "apple", "cherry", "banana", "banana"]
count = {}
for word in words:
count.setdefault(word, 0)
count[word] += 1
print(count)
#{'apple': 2, 'banana': 3, 'cherry': 1}
Метод setdefault()
является универсальным и полезным методом работы со словарями в Python. Он может использоваться для возврата значений ключа, установки значений по умолчанию для ключей, которые еще не существуют в словаре, и для многих других сценариев, которые требуют гибкого и эффективного использования словарей.
Содержание: