голосование
PHP
Javascript
BASH
Firebird
HTML
Программы
Хостинг
Майнинг
Ресурсы
GIT
SEO
Oracle
Python
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

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

Давно хотел сделать статью по функциям для работы со словарями 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)
3

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

'''
dict.setdefault(key[, default]) - возвращает значение ключа, 
но если его нет, не бросает исключение, 
а создает ключ с значением default (по умолчанию None).
'''
d = {'a': 1, 'b': 2, 'c': 3}
d.setdefault('e', 111)
print(d)
#вывод
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])
просмотры: 197, уровень: лёгкий уровень, рейтинг: 0, дата: 2018-03-14 21:32:12
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://www.2domains.ru домен RU домен RU всего за 99 рублей