Реклама

Питонски речник је структура података слична асоцијативном низу који се налази у другим програмским језицима. Низ или листа индексирају елементе по положају. Речник, са друге стране, индексира елементе са тастери које могу бити жице. Размислите о речнику као о неуређеним скуповима кључ-вредност парови.

парови кључа и вредности у словару питхон

У овом чланку упознајемо вас са радом са речником питхон.

Прављење речника

Постоји неколико начина креирања питхон речника. Најједноставније користи иницијализацију заграде, са синтаксом подсећа на ЈСОН Како добити Питхон и ЈаваСцрипт за комуникацију користећи ЈСОНДанас ћу вам показати како користити ЈСОН за слање података са ЈаваСцрипт-а на Питхон. Открићу како да подесите веб сервер, заједно са свим кодом који вам је потребан. Опширније .

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27}

Можете користити и бројеве као тастере. Међутим, будите опрезни користећи бројеве с помичним зарезом као кључеве од рачунар их чува као апроксимације Све што треба да знате о РАМ-у и управљању меморијом

instagram viewer
РАМ је краткорочна меморија вашег рачунара. Дакле, управљање меморијом има значајан утицај на перформансе система. Овде смо објаснили како РАМ ради и да ли можете нешто учинити да повећате њену ефикасност. Опширније .

раин_перцент = {1980: '17% ', 1981: '15%', 1982: '10% '} принт раин_перцент. принт раин_перцент [1980] # отисака {1980: '17%', 1981: '15%', 1982: '10%'} 17%

Одређивање парова кључа и вредности

Такође можете креирати и иницијализовати речник користећи парове вредности имена као аргументе кључне речи за дицт () конструктор.

број становника = дицт (Цалифорниа = 37253956, Цолорадо = 5029196, Цоннецтицут = 3574097, Делаваре = 897934) принт популација. # отисака {'Цоннецтицут': 3574097, 'Делаваре': 897934, 'Цалифорниа': 37253956, 'Цолорадо': 5029196}

Низ подешених кључева

Још један начин креирања речника је употреба низа папуча кључа и вредности. Ево истог примера као горе.

паир = [('Цалифорниа', 37253956), ('Цолорадо', 5029196), ('Цоннецтицут', 3574097), ('Делаваре', 897934)] популација = дицт (парови) принт популација. # отисака {'Цоннецтицут': 3574097, 'Делаваре': 897934, 'Цалифорниа': 37253956, 'Цолорадо': 5029196}

Разумевање слике

Разумијевање диктата пружа цоол синтаксу за иницијализацију диктата ако можете израчунати вредности на основу кључева. Следеће иницијализира дикт бројева и квадратних вредности за низ бројева.

штампа {к: к ** 2 за к у кранге (10, 20)} # отисака {10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361}

Како то функционише? Последњи део (за к у кранге (10, 20)) враћа распон бројева у наведеном распону. Део разумевања дикта ({к: к ** 2 ..}) прелази преко овог распона и иницијализира речник.

Рад са Питхон Речником

Шта можете учинити са речницима након што сте их креирали? Па, можете да приступите елементима, ажурирате вредности, бришете елементе итд.

Приступ елементима Питхон Дицтионари

Приступите елементу слике користећи кључ у заградама, баш као што бисте и жељели Низ или листа Како низови и спискови раде у ПитхонуНизови и листе неке су од најкориснијих структура података у програмирању - мада их мало људи користи у свом пуном потенцијалу. Опширније .

популација штампе ['Делаваре'] # отисака 897934.

Ако је кључ број, не требају вам цитати. Израз се затим чини као листа или индексирање низова.

принт раин_перцент [1980] # отисака 17%

Тип кључа приликом приступа њему мора одговарати ономе што је похрањено у Питхон речнику. Следеће изазива грешку, јер су сачувани тастери бројеви, а приступни кључ је низ.

к = '1980' принт раин_перцент [к] # резултата у 1 к = '1980' > 2 штампе раин_перцент [к] КеиЕррор: '1980'

Приступ непостојећем кључу је грешка.

раин_перцент = {1980: '17% ', 1981: '15%', 1982: '10% '} принт раин_перцент [1983] # штампа 1 киша_перцент = {1980: '17% ', 1981: '15%', 1982: '10% '} > 2 штампе раин_перцент [1983] КеиЕррор: 1983.

Да бисте приступили кључу и дали подразумевану вредност ако мапирање не постоји, користите тастер добити() метода са заданом вриједношћу као други аргумент.

принт раин_перцент.гет (1985, '0%') # отисака 0%

Провера постојања

Шта ако желите да проверите да ли постоји кључ без да му покушате приступити (и евентуално наићи на а КеиЕррор као горе)? Можете користити ин кључна реч у облику кључ у дцт-у који враћа булан.

штампа 1980. у кишномцентру. штампати '1980' у кишномцентру. # отисака Истина. Лажно. 

Преокрените стање (тј. Осигурајте да кључ не буде присутан у Питхон речнику) помоћу обрасца кључ није у дцт-у. Ово је еквивалент стандардној негацији питона није кључ у дцт-у.

штампа 1980. није у киши. штампа 1985 није у киши. # отисака Лажно. Истина. 

Модификовање елемената

Промените вредност додељивањем потребном тастеру.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} корисника ['доб'] = 29. корисници штампе # отисака {'ластнаме': 'Смитх', 'аге': 29, 'наме': 'Јохн'}

Користите исту синтаксу да бисте додали ново пресликавање у Питхон речник.

корисника ['доб'] = '15 -сепањ-1971 ' корисници штампе # отисака {'доб': '15 -сеп-1971 ',' презиме ':' Смитх ',' узраст ': 29,' име ':' Јохн '}

Ажурирајте више елемената речника у једном кадру помоћу ажурирање() метод.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} усерс.упдате ({'аге': 29, 'доб': '15 -сеп-1971 '}) корисници штампе # отисака {'доб': '15 -сеп-1971 ',' презиме ':' Смитх ',' узраст ': 29,' име ':' Јохн '}

Поставите подразумевану вредност за кључ користећи сетдефаулт (). Ова метода поставља вредност за кључ ако мапирање не постоји. Враћа тренутну вредност.

# не мења тренутну вредност. испис корисника.сетдефаулт ('име', 'Јане') # отисака Јохн # поставља вредност. испис корисника.сетдефаулт ('град', 'НИ') # отисака НИ # Коначна вредност. корисници штампе # отисака {'ластнаме': 'Смитх', 'аге': 27, 'наме': 'Јохн', 'цити': 'НИ'}

Брисање елемената

Избришите мапирања у речнику помоћу дел оператера. Овај оператер не враћа ништа.

Наићи ћете на КеиЕррор ако кључ не постоји у речнику.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} дел корисници ['доб'] корисници штампе # отисака {'ластнаме': 'Смитх', 'фирстнаме': 'Јохн'}

Користити поп () метода уместо тога, када желите избрисану вредност вратити.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} испис корисника.поп ('доб') корисници штампе # отисака 27. {'ластнаме': 'Смитх', 'фирстнаме': 'Јохн'}

Шта ако желите да избришете кључ ако постоји, а да не проузрокујете грешку ако не постоји? Можете користити поп () и одредите Ниједан за други аргумент следећи:

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} усерс.поп ('фоо', Нема) корисници штампе # отисака {'ластнаме': 'Смитх', 'аге': 27, 'наме': 'Јохн'}

А ево и једног лиња за брисање гомиле кључева из речника, а да не изазовете грешку на непостојећим кључевима.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27, 'доб': '15 -сеп-1971 '} мапа (ламбда к: усерс.поп (к, Ноне), ['аге', 'фоо', 'доб']) корисници штампе

Желите да избришете све кључеве из речника? Користити јасно() метод.

усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} усерс.цлеар () корисници штампе # отисака {}

Лоопинг Витх Питхон Речници

Питхон пружа много методе за петље Како раде петље у рачунарском програмирањуПетље су један од првих типова контроле које ћете научити у програмирању. Вероватно знате за време и за петље, али шта се ради петља у току рада? Опширније преко уноса речника. Изаберите га према вашим потребама.

Промицање кључева

  • Најједноставнија метода за обраду кључева (и евентуално вредности) у низу користи петљу облика:
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за к у корисницима: испис к, '=>', корисници [к] # отисака ластнаме => Смитх. старост => 27. име => Јохн.
  • Коришћењем методе итеркеис () ради потпуно исто као горе. Изаберите који облик желите да користите.
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за к у усерс.итеркеис (): испис к, '=>', корисници [к] # отисака ластнаме => Смитх. старост => 27. име => Јохн.
  • Трећа метода за преузимање и обраду кључева у петљи укључује употребу уграђене функције итер ().
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за к у итеру (корисници): испис к, '=>', корисници [к] # отисака ластнаме => Смитх. старост => 27. име => Јохн.
  • Када вам треба индекс кључа који се обрађује, користите тастер набројити () уграђена функција као што је приказано.
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за индекс, кључ у набрајању (корисници): индекс штампања, кључ, '=>', корисници [к] # отисака 0 презиме => Јохн. 1 година => Јохн. 2 име => Јохн.

Прелазак преко парова кључа и вредности

  • Када желите да преузмете сваки пар кључа и вредности једним позивом, користите итеритемс ().
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за к, в у усерс.итеритемс (): испис к, '=>', в. # отисака ластнаме => Смитх. старост => 27. име => Јохн.

Понављање вредности

  • Метода итервалуес () може се користити за понављање свих вредности у речнику. Иако ова метода изгледа слично као помоћу петље вредности (), то је ефикасније јер не извлачи све вредности одједном.
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за вредност у усерс.итервалуес (): вредност исписа. # отисака Смитх. 27. Јохн.

Вађење низова

Следеће методе описују вађење различитих информација Питхон речника у облику поља. Резултирајући низ се може пребацити помоћу нормалних питхон конструкција. Међутим, имајте на уму да враћени низ може бити велик овисно о величини речника. Па може бити и више скупо (меморија) за обраду ових низова него коришћењем метода итератора горе.

Један случај у којем је прихватљиво радити с овим низовима је када требате обрисати ставке из речника јер наиђете на нежељене елементе. Рад са итератором током модификације речника може изазвати РунтимеЕррор.

  • Метода ставке () враћа низ подешавања кључева-вредности. Можете поновити преко ових парова кључ-вредност као што је приказано:
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} за к, в у усерс.итемс (): испис к, '=>', в. # отисака ластнаме => Смитх. старост => 27. име => Јохн.
  • Дохватите све кључеве у речнику користећи методу тастери ().
    усерс = {'фирстнаме': 'Јохн', 'ластнаме': 'Смитх', 'аге': 27} принт усерс.кеис () # отисака ['презиме', 'старост', 'име']

    Употријебите враћану матрицу да бисте прешли преко кључева.

    за к у усерс.кеис (): испис к, '=>', корисници [к] # отисака ластнаме => Смитх. старост => 27. име => Јохн.
  • На сличан начин користите методу вредности () да бисте преузели све вредности у речнику.
    за вредност у усерс.валуес (): вредност исписа. # отисака Смитх. 27. Јохн. 

Како користите Питхон речнике?

У овом смо чланку покушали да покренемо најчешће случајеве употребе слова за питон. Обавезно погледајте све наше остали чланци Питхон-а 10 основних примјера Питхон-а који ће вам помоћи да брзо научитеОвај чланак основних примера питхона намењен је онима који већ имају одређено искуство у програмирању и једноставно желе да пређу на Питхон што је брже могуће. Опширније за чак више Питхон савета 5 курсева који ће вас од Питхон-а започети до професионалцаОвих пет курсева научиће вас о програмирању на Питхон-у, једном од најпопуларнијих језика тренутно. Опширније . Ако имате и друге случајеве употребе за које сматрате да би требало да буду укључени, јавите нам у коментарима испод!

Имаге Кредити: випер345 / Схуттерстоцк