training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Функции для работы со словарями Python

Создано: 14 марта 2018Автор: Егор Астапов2267 просмотровСложность: легкий

Давно хотел сделать статью по функциям для работы со словарями Python. Я начал активно использовать Django и там все данные выводятся в виде списка из словарей. Если вам нужно привести значение переменной к словарю, то используйте dict(a). Если у вас список состоящий из словарей, то обращайтесь к каждому элементу списка dict(arr[0]). Я сделал примеры для понимания.


'''
dict.fromkeys(seq[, value]) - создает словарь с ключами 
из seq (последовательности) и значением value (по умолчанию None)
'''
d = dict.fromkeys(['a','b','c'], 1)
#вывод
{'a': 1, 'b': 1, 'c': 1}

#генерация словарей, ключами являются числа
d = {a : a for a in range(7)}
#вывод
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}

#генерация словарей, ключём является строка
d = {'a'+ str(a) : a for a in range(7)}
#вывод
{'a0': 0, 'a1': 1, 'a2': 2, 'a3': 3, 'a4': 4, 'a5': 5, 'a6': 6}

#в качестве значения для каждого ключа будет словарь
d = dict.fromkeys(['a','b','c'], {'lang': 'python'})
#вывод
{'a': {'lang': 'python'}, 'b': {'lang': 'python'}, 'c': {'lang': 'python'}}

#очистка словаря
d = {'a': 1}
c = d.clear()
print(d)
#вывод
{}

#возвращает копию словаря
d = {'a': 1}
c = d.copy()
print(c)
#вывод
{'a': 1}

'''
dict.get(key[, default]) - возвращает значение ключа, но если его нет, 
не бросает исключение, а возвращает default (по умолчанию None)
'''
a = {'a': 1}
b = a.get('a1', 3)
#вывод
3

#возвращает пары (ключ, значение)
d = {'a': 1, 'b': 2}
for n in d.items():    
    print(n)
#вывод
('a', 1)
('b', 2)

'''
dict.pop(key[, default]) 
удаляет ключ и возвращает значение. Если ключа нет, 
возвращает default (по умолчанию бросает исключение).
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.pop('c')
#вывод
print(d)
{'a': 1, 'b': 2}

'''
dict.popitem() - удаляет и возвращает пару (ключ, значение). 
Если словарь пуст, бросает исключение KeyError. 
Помните, что словари неупорядочены.
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.popitem()
#вывод
print(d)
{'c': 3, 'b': 2}

'''
dict.setdefault(key[, default]) - возвращает значение ключа, 
но если его нет, не бросает исключение, 
а создает ключ с значением default (по умолчанию None).
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.setdefault('e', 111)
print(d)
{'a': 1, 'b': 2, 'c': 3, 'e': 111}

'''
dict.update([other]) - обновляет словарь, 
добавляя пары (ключ, значение) из other. 
Существующие ключи перезаписываются. 
Возвращает None (не новый словарь!)
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.update({'e': 333})
print(d)
#вывод
{'a': 1, 'b': 2, 'c': 3, 'e': 333}

'''
dict.values() - возвращает значения в словаре
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.values()
print(d)
#вывод
dict_values([1, 3, 2])

Комментарии

реклама