how work with python dictionary tutorial with code examples
Този урок обяснява как да създадете речник на Python заедно с методи за достъп, добавяне, модифициране, изтриване и итерация чрез данни, съхранявани в речник:
В това Обучение на Python за всички , разгледахме най-често задаваните Въпроси за интервю за Python . Този урок обяснява всичко за речниците в Python заедно с прости примери.
Речник в Python е колекция от двойки ключ-стойност. Всеки ключ е свързан със стойност и можете да използвате ключа за достъп до стойността, свързана с този ключ.
Ключът може да бъде число / низ, а стойността на ключа може да бъде число, низ, списък или дори друг речник.
Пример за речник в реално време може да се намери в края на всяка книга, където темите са дадени според номера на страницата. Тук номер на страница може да се разглежда като ключ, а темите - като стойности.
Какво ще научите:
- Как да създам речник в Python?
- Как да получите достъп до стойности в речник на Python?
- Как да добавите нови двойки ключ-стойност в речника?
- Как да променяте стойности в речника?
- Как да изтрия двойки ключ-стойност в речник?
- Итерация през речника на Python
- Влагане в речници на Python
- Заключение
- Препоръчително четене
Как да създам речник в Python?
Python Dictionary е създаден по следния начин:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'}
Всеки ключ е свързан със стойността си с двоеточие и отделните двойки ключ-стойност са разделени със запетаи. Можете да съхранявате произволен брой двойки ключ-стойност в речник.
Как да получите достъп до стойности в речник на Python?
За да получите достъп до стойност, свързана с ключа в речника, трябва да дадете името на речника, последвано от неговия ключ в квадратни скоби.
Вход:
кой etl инструмент е най-добър на пазара
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'))
Изход:
Джон
Можете да получите достъп до множество стойности в речника по следния начин:
Вход:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} print(Students('001'),Students('002')) # Accessing multiple values
Изход:
Джон Джейн
Как да добавите нови двойки ключ-стойност в речника?
Речниците са динамични и можем да добавим произволен брой нови двойки ключ-стойност към съществуващ речник.
Нека добавим 2 нови ученици към съществуващия речник.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa'
По този начин, след като дадем следния вход:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya'} Students('005')='Shane' Students('006')='Melisa' print(Students)
Резултатът ще бъде:
{'001': 'Джон', '002': 'Джейн', '003': 'Рахул', '004': 'Рия', '005': 'Шейн', '006': 'Мелиса'}
Сега можем да осъществим достъп и до новодобавените двойки ключ-стойност:
Вход:
print(Students('005'))
Изход:
Шейн
Как да променяте стойности в речника?
За да модифицираме стойност в речник, трябва да дадем името на речника, последвано от Ключа в квадратни скоби и след това новата стойност, свързана с този Ключ.
Да предположим в следния речник:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Искаме да променим стойността, свързана с ключ 001, на Дейвид, тогава можем просто да го направим по следния начин.
Students('001') = 'David'
При стартиране на програмата:
Вход:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} Students('001') = 'David' print(Students('001'))
Изход:
Дейвид
Как да изтрия двойки ключ-стойност в речник?
В случай, че вече не се нуждаете от част от информацията, съхранявана в речник, можете просто да премахнете или изтриете тази част от речника с помощта на командата del.
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'}
Например, искаме да премахнем - ‘004’: ‘Riya’ от горния речник, тогава можем просто да го направим чрез следната команда:
del Students('004')
Сега, за даване на входа:
Students = {'001':'John','002':'Jane','003':'Rahul','004':'Riya','005':'Shane','006':'Melisa'} del Students('004') print(Students)
Резултатът ще бъде:
{'001': 'Джон', '002': 'Джейн', '003': 'Рахул', '005': 'Шейн', '006': 'Мелиса'}
Забележка: Речниците не следват определена последователност. По този начин, когато стартирате програмата, можете да получите изхода в различни последователности.
Например,
{'005': 'Шейн', '003': 'Рахул', '002': 'Джейн', '006': 'Мелиса', '001': 'Джон'}
Упражнение:
Напишете програма за създаване на речник на служителите, който включва техния идентификатор и име. По-късно добавете някои служители и актуализирайте информацията за един от служителите и изтрийте информацията за служителя, който напуска организацията.
# Създаване на речник на служителите
Employees = { 'Emp_001': 'Rahul Khanna', 'Emp_002': 'Surbhi Jain', 'Emp_003': 'Maria Sharapova' } print(Employees)
# Извличане на информацията на 2-ри служител
print(Employees('Emp_002'))
# Добавяне на още двама служители
Employees('Emp_004')='Ricky Martin' Employees('Emp_005')='Sanaya Malhotra'
# Печат на речник, за да проверите дали служителите са актуализирани
print(Employees)
# Актуализиране на информация на Emp_003 - Промяна на името на Мария Кюри
Employees('Emp_003')='Maria Curie'
# Проверка на актуализирана информация
print(Employees('Emp_003'))
# Изтриване на служител 1
del Employees('Emp_001') print(Employees)
Изход:
{‘Emp_001’: ‘Rahul Khanna’, ‘Emp_002’: ‘Surbhi Jain’, ‘Emp_003’: ‘Maria Sharapova’}
Surbhi Jain
{‘Emp_001’: ‘Rahul Khanna’, ‘Emp_002’: ‘Surbhi Jain’, ‘Emp_003’: ‘Maria Sharapova’, ‘Emp_004’: ‘Ricky Martin’, ‘Emp_005’: ‘Sanaya Malhotra’}
Мария Кюри
{‘Emp_002’: ‘Surbhi Jain’, ‘Emp_003’: ‘Maria Curie’, ‘Emp_004’: ‘Ricky Martin’, ‘Emp_005’: ‘Sanaya Malhotra’}
Итерация през речника на Python
Тъй като речниците могат да съдържат голямо количество данни, Python ви позволява да преглеждате речника. Речниците могат да съхраняват информация по най-различни начини, поради което можете да обикаляте речника по различни начини. Можете да преглеждате двойките ключ-стойност в речник, чрез ключовете или неговите стойности.
- Как да преглеждам двойките ключ-стойност в речника?
Нека вземем пример за нов речник, който се използва за съхраняване на информация за футболистите, тяхното име, височина и тегло.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' }
Както знаете, можете да получите достъп до една информация въз основа на наученото досега, но как да получите достъп до цялата информация наведнъж? Можете да използвате за цикъл, за да обиколите речника.
for key,value in Player_1.items(): print('
Key:' +key) print('Value:' +value)
Както можете да видите, за да напишете цикъл for за речника, трябва да създадете две променливи, които ще съдържат ключ и стойност съответно. Тук сме приели имената на променливите като Key и Value, но бихме могли да вземем всяко име на променлива като k, v.
Няма да има разлика в изхода, ако напишем кода си по следния начин:
for k,v in Player_1.items(): print('
Key:' +k) print('Value:' +v)
Следващата част на оператора For включва името на речника, последвано от елементите на метода (), който връща списък на двойките ключ-стойност. След това цикълът For съхранява всяка от тези двойки в двете предоставени променливи. В предишния пример използваме променливите, за да отпечатаме всеки ключ, последван от свързаната стойност.
„ N“ в първия оператор за печат гарантира, че празен ред се вмъква преди всяка двойка ключ-стойност в изход :
как да намеря ключа за мрежова защита
Ключ: Име
Стойност: Питър
Ключ: Височина
Стойност: 5 фута 9 инча
Ключ: Тегло
Стойност: 82 кг
- Как да преминете през всички ключове в речника?
За да преминете през всички клавиши в речник, можете да използвате метода Keys. Нека прегледаме всички ключове в следващия речник.
Player_1 = { 'Name': 'Peter', 'Height' : '5ft 9inch', 'Weight' : '82 Kg' } for attributes in Player_1.keys(): print(attributes.title())
Изявлението за атрибути в Player_1.keys () казва на Python да изтегли всички ключове от речника Player_1 и да ги съхранява един по един в името на променливата.
Програмата дава следния изход:
Име
Височина
Тегло
Ако дадем своя принос по следния начин:
for attributes in Player_1: print(attributes.title())
Няма да има разлика в изхода, тъй като циклирането през клавишите е поведението по подразбиране на речника.
- Как да прегледам всички стойности в речника?
Ако целта ви е да получите всички стойности от речник, тогава можете да използвате метода на стойностите.
Да кажем, в следващия речник просто искаме да извлечем името на ученика.
Students = { '001':'John', '002':'Jane', '003':'Rahul', '004':'Riya' } for name in Students.values() print(name.title())
Операторът for изтегля всяка стойност от речника и я съхранява в променливата - name. Операторът Print отпечатва всички имена и получаваме следния изход:
Джон
Джейн
Рахул
Рия
Влагане в речници на Python
Понякога може да искате да съхраните набор от речници в списък или списък с елементи като стойност в речник и това се нарича влагане. Можете да вложите набор от речници в списък, списък с елементи в речник или дори речник в друг речник.
Влагането е мощна функция, нека демонстрираме това, като използваме примери.
Списък на речниците
Нека вземем пример за речника на играча, който съдържа разнообразна информация за един играч, но няма място за съхраняване на информация за повече играчи.
Можем просто да създадем 3 речника, всеки от които представлява различен играч. Опаковаме всеки от тези речници в списък, наречен Играчи. И накрая, можем да прегледаме списъка и да разпечатаме всеки от тях.
Player_1 = { 'Name' : 'Peter', 'Height' : '5ft 9inch', 'Weight' : '72 Kg' } Player_2 = { 'Name' : 'John', 'Height' : '5ft 7inch', 'Weight' : '82 Kg' } Player_3 = { 'Name' : 'Rahul', 'Height' : '5ft 11inch', 'Weight' : '65 Kg' } Players = (Player_1,Player_2,Player_3) for Player in Players: print(Player)
Изход:
{„Име“: „Петър“, „Височина“: „5 фута 9 инча“, „Тегло“: „72 кг“}
{„Име“: „Джон“, „Височина“: „5 фута 7 инча“, „Тегло“: „82 кг“}
{„Име“: „Rahul“, „Височина“: „5 фута 11 инча“, „Тегло“: „65 кг“}
Обичайно е да се съхраняват речници в списък, когато всеки речник съдържа няколко вида информация за един обект.
Например, можете да създадете речник за всеки потребител на уебсайт и да съхранявате отделните речници в списък, наречен потребители. Всички речници в списъка трябва да имат еднаква структура, така че да можете да прелиствате списъка и да работите с всеки обект на Речник по един и същи начин.
Речник в речник
Можете да вложите речник в друг речник, но когато го направите, вашият код може бързо да се усложни. Например, ако имате няколко потребители за уебсайт, всеки с уникално потребителско име, тогава можете да използвате потребителското име като ключове в речник.
След това можете да съхранявате информация за всеки потребител, като използвате речник, тъй като стойността е свързана с неговото потребителско име. В следващия списък съхраняваме три информация за всеки потребител, т.е. неговото име, фамилия и местоположение. Ще получим достъп до тази информация, като прегледаме потребителските имена и речника на информацията, свързана с всяко потребителско име.
users = { 'Rahul99': { 'first': 'Rahul', 'last': 'Jain', 'location': 'New Delhi', }, 'Jane19': { 'first': 'Jane', 'last': 'Aniston', 'location': 'New York', }, } for user, user_info in users.items(): print('
Username = '+user) print('First name = '+user_info('first')) print('Last name = '+user_info('last')) print('Location = '+user_info('location'))
Първо дефинираме речник, наречен потребители с два ключа: по един за потребителските имена ‘Rahul99’ и ‘Jane19’. Стойността, свързана с всеки ключ, е речник, който включва собственото име, фамилията и местоположението на всеки потребител. Прелистваме речника на потребителя.
Python съхранява всеки ключ в променливата потребителско име и речникът, свързан с всяко потребителско име, влиза в променливата user_info. След като влезем в главния цикъл на речника, отпечатваме потребителското име.
Започваме достъп до вътрешния речник. Променливата user_info, която съдържа Речника на потребителската информация, има три ключа, т.е. ‘first’, ‘last’ и ‘location’. Използваме всеки ключ, за да генерираме собственото име, фамилията и местоположението за всеки потребител и след това отпечатваме обобщение на това, което знаем за всеки потребител.
Резултатът от програмата ще бъде:
Потребителско име = Rahul99
Име = Рахул
Фамилно име = Jain
Местоположение = Ню Делхи
Потребителско име = Jane19
Име = Джейн
Фамилно име = Анистън
Местоположение = Ню Йорк
Упражнение:
Напишете речник, наречен градове. Използвайте имената на три града с едно чудо на света като ключове във вашия речник. Създайте речник с информация за всеки град и включете държавата, в която се намира градът, приблизителното му население и името на Чудото.
Ключовете за речника на всеки град трябва да са нещо като държава, население и чудо. Отпечатайте името на всеки град и цялата информация, която сте съхранили за него.
# Създаване на речник в речника
Cities = { 'Newyork': { 'Country' : 'USA', 'population' : '700k', 'wonder' : 'Statue of Liberty' }, 'Agra': { 'Country' : 'India', 'population' : '300k', 'wonder' : 'Taj Mahal' }, 'Paris': { 'Country' : 'France', 'population' : '500k', 'wonder' : 'Eiffel Tower' } }
# Прелистване на всички стойности в речника
for City, cities_info in Cities.items(): print('
City = ' +City) print(' Country='+cities_info('Country')) print(' Population=' +cities_info('population')) print(' Wonder='+cities_info('wonder'))
Изход :
Град = Нюйорк
Държава = САЩ
Население = 700k
Чудо = Статуя на свободата
Град = Агра
Държава = Индия
Население = 300k
Чудо = Тадж Махал
Град = Париж
Държава = Франция
Население = 500k
Чудо = Айфелова кула
Заключение
В този урок научихме как да дефинираме речник в Python и как да работим с информацията, съхранявана в речник. Също така научихме как да осъществяваме достъп и да променяме отделни елементи в речник.
След това проучихме как да обикаляме речника, да влагаме множество речници в списъка и да влагаме речник в речник.
Честито четене !!
Надяваме се да ви е харесала цялата поредица уроци по Python !! Сигурни сме, че тези уроци по Python ще бъдат пълно ръководство за начинаещи !!
PREV Урок | Първи урок
Препоръчително четене
- Вход-изход и файлове в Python (Python отваря, чете и записва във файл)
- Python Loops - За, докато, вложени цикли с примери
- Урок за разширени списъци на Python (Сортиране по списък, обръщане, индекс, копиране, присъединяване, сума)
- Условни изявления на Python: if_else, elif, вложени if изявления
- Урок за работа с файлове на Python: Как да създавате, отваряте, четете, пишете
- Процес на въвеждане и инсталиране на Python
- Списък на Python - Създаване, достъп, нарязване, добавяне или изтриване на елементи
- Концепции на ООП на Python (класове, обекти и наследяване на Python)
- Урок за Python за начинаещи (практически БЕЗПЛАТНО обучение за Python)