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

Функции для работы со словарями 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)
{'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])
просмотры: 1564, уровень: лёгкий уровень, рейтинг: 5, дата: 2018-03-14 21:32:12
проголосовать:

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






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