fromkeys(iterable) — метод класса, который возвращает новый словарь

d = {}
# Неверное использование fromkeys().
# Словарь d не изменится.
d.fromkeys((1, 2, 3))
print(d)
# fromkeys() - метод класса, а не экземпляра,
# он возвращает новый словарь.
a = d.fromkeys((1, 2, 3))
# Словарь можно создать как от переменной,
# связанной с уже существующим словарем,
# так и от самого класса.
b = dict.fromkeys((1, 2, 3))
print(a)
print(b)

# Значение, назначаемое ключам по умолчанию,
# - None. Его можно заменить любым другим.
c = dict.fromkeys('abcd', -1)
print(c)
c['a'] = 3
print(c)

# Если в качестве значения указывается
# изменяемый объект, то создается
# его единственный экземпляр, который
# присваивается всем ключам.
d = dict.fromkeys('abc', [])
print(d)
d['a'] = 10
d['b'].append(4)
print(d)
{}
{1: None, 2: None, 3: None}
{1: None, 2: None, 3: None}
{'a': -1, 'b': -1, 'c': -1, 'd': -1}
{'a': 3, 'b': -1, 'c': -1, 'd': -1}
{'a': [], 'b': [], 'c': []}
{'a': 10, 'b': [4], 'c': [4]}


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий