Речник на Python (Dict): Update, Cmp, Len, Sort, Copy, Items, str Пример

Какво е речник в Python?

ДА СЕ Речник в Python е неуредената и променяща се колекция от стойности на данни, която съдържа двойки ключ-стойност. Всяка двойка ключ-стойност в речника съпоставя ключа със свързаната с него стойност, което го прави по-оптимизиран. Речник в python се декларира чрез затваряне на запетая, разделен на двойки ключ-стойност, използвайки фигурни скоби ({}). Речникът на Python е класифициран в два елемента: ключове и стойности.

  • Ключовете ще бъдат един елемент
  • Стойностите могат да бъдат списък или списък в списък, числа и т.н.

В този урок по Python ще научите:

Синтаксис за речник на Python

Dict = { ' Tim': 18, xyz,.. }

Речникът е посочен в фигурни скоби, вътре в тези фигурни скоби се декларират ключове и стойности. Всеки ключ е отделен от стойността си с двоеточие (:), докато запетаите разделят всеки елемент.

Свойства на ключовете на речника

Има две важни точки при използване на клавишите на речника

  • Повече от един запис на ключ не е разрешен (не се допуска дублиран ключ)
  • Стойностите в речника могат да бъдат от всякакъв тип, докато ключовете трябва да бъдат неизменни като числа, кортежи или низове.
  • Ключовете на речника са чувствителни към малки и големи букви- същото име на ключ, но с различните регистри се третират като различни ключове в речниците на Python.

Пример за Python 2

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])

Пример за Python 3

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
  • В кода имаме име на речника „Dict“
  • Декларирахме името и възрастта на човека в речника, където името е „Ключове“, а възрастта е „стойността“
  • Сега стартирайте кода
  • Той извлича възрастта на Тифани от речника.

Речникови методи на Python

Копиране на речника

Можете също да копирате целия речник в нов речник. Например, тук сме копирали нашия оригинален речник в новото име на речника „Момчета“ и „Момичета“.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY) 
  • Имаме оригиналния речник (Dict) с името и възрастта на момчетата и момичетата заедно
  • Но ние искаме списък с момчета отделно от списъка за момичета, затова определихме елемента момчета и момичета в отделен речник с имената „Момчета“ и „Момичета“.
  • Сега отново създадохме ново име на речника „студент X“ и „ученик Y“, където всички ключове и стойности на речника на момчетата се копират в ученик X, а момичетата ще бъдат копирани в studentY
  • Така че сега не е нужно да разглеждате целия списък в основния речник (Dict), за да проверите кое е момче и кое момиче, просто трябва да отпечатате студент X, ако искате списък с момчета и StudentY, ако искате списък с момичета
  • Така че, когато стартирате речника на студент X и studentY, той ще даде всички елементи, присъстващи в речника на „момчета“ и „момичета“ поотделно

Актуализиране на речника

Можете също да актуализирате речник, като добавите нов запис или двойка ключ-стойност към съществуващ запис или като изтриете съществуващ запис. Тук в примера ще добавим друго име „Sarah“ към нашия съществуващ речник.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({'Sarah':9}) print Dict 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({'Sarah':9}) print(Dict) 
  • Съществуващият ни речник „Dict“ няма името „Sarah“.
  • Използваме метода Dict.update, за да добавим Сара към нашия съществуващ речник
  • Сега стартирайте кода, той добавя Сара към нашия съществуващ речник

Изтрийте ключовете от речника

Речникът на Python ви дава свободата да изтриете всеки елемент от списъка на речника. Да предположим, че не искате името Чарли в списъка, така че можете да премахнете ключовия елемент чрез следния код.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict) 

Когато стартирате този код, той трябва да отпечата списъка с речници без Чарли.

  • Използвахме кода del Dict
  • Когато кодът се изпълни, той изтри Чарли от основния речник

Речник елементи () Метод

Метод items () връща списък с двойки кортежи (ключове, стойност) в речника.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'Students Name: %s' % Dict.items() 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('Students Name: %s' % list(Dict.items())) 
  • Използваме метода code items () за нашия Dict.
  • Когато кодът е изпълнен, той връща списък с елементи (ключове и стойности) от речника

Проверете дали даден ключ вече съществува в речника

За даден списък можете също да проверите дали нашият речник съществува в основния речник или не. Тук имаме два подречника „Момчета“ и „Момичета“, сега искаме да проверим дали нашият речник „Момчета“ съществува в нашия основен „Дикт“ или не. За това използваме метода for цикъл с else if метод.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Dict.keys(): if key in Boys.keys(): print True else: print False 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Dict.keys()): if key in list(Boys.keys()): print(True) else: print(False) 
  • Forloop в кода проверява всеки ключ в основния речник за ключове за момчета
  • Ако съществува в основния речник, той трябва да отпечата true или иначе трябва да отпечата false
  • Когато изпълните кода, той ще отпечата „Вярно“ три пъти, тъй като имаме три елемента в нашия речник „Момчета“
  • Така че това показва, че „момчетата“ съществуват в нашия основен речник (Дикт)

Сортиране на речника

В речника можете също да сортирате елементите. Например, ако искаме да отпечатаме името на елементите на нашия речник по азбучен ред, трябва да използваме цикъла for. Той ще сортира всеки елемент от речника съответно.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print':'.join((S,str(Dict[S]))) 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(':'.join((S,str(Dict[S])))) 
  • Декларирахме променливите студенти за нашия речник „Dict“.
  • След това използваме кода Students.sort, който ще сортира елемента в нашия речник
  • Но за да сортираме всеки елемент в речника, изпълняваме цикъла for чрез обявяване на променлива S
  • Сега, когато изпълняваме кода, цикълът for ще извика всеки елемент от речника и ще отпечата низ и стойност в ред

Вградени функции на речника на Python

Речник len () Метод

Функцията len () дава броя на двойките в речника.

Например,

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'Length : %d' % len (Dict) 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('Length : %d' % len (Dict)) 

Когато функцията len (Dict) се изпълнява, тя дава изхода на '4', тъй като в нашия речник има четири елемента

Променливи типове

Python не изисква изрично да декларира резервното пространство в паметта; става автоматично. Използват се стойностите за присвояване на променлива '=' знак за равенство. Кодът за определяне на типа променлива е „ %type (Dict)“.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'variable Type: %s' %type (Dict) 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('variable Type: %s' %type (Dict)) 
  • Използвайте кода %type, за да знаете типа на променливата
  • Когато кодът се изпълнява, той казва, че променливият тип е речник

Метод на списъка на Python cmp ()

Методът за сравнение cmp () се използва в Python за сравняване на стойности и ключове на два речника. Ако методът връща 0, ако и двата речника са равни, 1, ако dic1> dict2 и -1, ако dict1 Пример за Python 2

 Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys) 

Пример за Python 3

cmp is not supported in Python 3
  • Имаме две имена в речника „Момчета“ и „Момичета“.
  • Което декларирате първо в код „cmp (Момичета, момчета)“, ще се счита за речник 1. В нашия случай първо обявихме „Момичета“, така че ще се счита за речник 1, а момчетата като речник 2
  • Когато кодът се изпълнява, той отпечатва -1, Това показва, че нашият речник 1 е по -малък от речник 2.

Речник Str (dict)

С метода Str () можете да направите речник във формат за низ за печат.

Пример за Python 2

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print 'printable string:%s' % str (Dict) 

Пример за Python 3

 Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print('printable string:%s' % str (Dict)) 
  • Използвайте кода % str (Dict)
  • Той ще върне елементите на речника в формат за низ за печат

Ето списъка с всички речникови методи

Метод Описание Синтаксис
копие()Копирайте целия речник в нов речникdict.copy ()
update ()Актуализирайте речник чрез добавяне на нов запис или двойка ключ-стойност към съществуващ запис или чрез изтриване на съществуващ запис.Dict.update ([друго])
елементи ()Връща списък с двойки кортежи (ключове, стойност) в речника.dictionary.items ()
вид()Можете да сортирате елементитеdictionary.sort ()
len ()Дава броя на двойките в речника.len (dict)
cmp ()Сравнете стойностите и ключовете на два речникаcmp (dict1, dict2)
Str ()Направете речник във формат за печат на низStr (dict)

Обединяване на речници

Тук ще разберете как да обедините два дадени речника в един речник.

Имам два речника, както е показано по -долу:

Речник1: my_dict1 | _+_ |

Речник 2: my_dict2 | _+_ |

Нека обединим двата речника my_dict1 и my_dict2 и да създадем един речник с namemydict.

Обединете два речника, като използвате метода update ()

Методът update () ще ни помогне да обединим един речник с друг. В примера ще актуализираме my_dict1 с my_dict2. След използване на метода update () my_dict1 ще има съдържанието на my_dict2, както е показано по -долу: | _+_ |

Изход: | _+_ |

Обединяване на речници по ** метод (от Python 3.5 нататък)

** се нарича Kwargs в Python и ще работи с Python версия 3.5+. Използвайки **, можем да обединим два речника и той ще върне обединения речник. Използването на ** пред променливата ще замени променливата с цялото й съдържание.

Ето работен пример за използване на ** за обединяване на две директории. | _+_ |

Изход: | _+_ |

Тест за членство в речника

Можете да проверите дали ключ в настоящето в речника или не. Този тест може да се извърши само върху ключа на речника, а не върху стойността. Тестът за членство се извършва с помощта на в ключова дума. Когато проверявате ключа в речника с помощта на в ключова дума, изразът връща true, ако ключът присъства и false, ако не.

Ето един пример, който показва тест на кораба на член в речник. | _+_ |

Изход: | _+_ |

Резюме:

  • Речниците на език за програмиране са вид структура от данни, използвана за съхраняване на свързана по някакъв начин информация.
  • Речникът на Python се дефинира в два елемента Ключове и Стойности.
  • Речниците не съхраняват информацията си в определен ред, така че може да не върнете информацията си в същия ред, в който сте я въвели.
  • Ключовете ще бъдат един елемент
  • Стойностите могат да бъдат списък или списък в списък, числа и т.н.
  • Повече от един запис на ключ не е разрешен (не се допуска дублиран ключ)
  • Стойностите в речника могат да бъдат от всякакъв тип, докато ключовете трябва да бъдат неизменни като числа, кортежи или низове.
  • Ключовете на речника са чувствителни към малки и големи букви- същото име на ключ, но с различните регистри се третират като различни ключове в речниците на Python.