Աշխատեք Python բառարանների հետ. խաբեության թերթիկ

Մուտք գործելու, խմբագրելու և շրջելու բառարանի տարրերի միջոցով

Որոշ հիմունքներ

Python-ի բառարանները բանալի-արժեք զույգերի հավաքածու են, ինչը նշանակում է, որ բառարանի յուրաքանչյուր տարր ունի բանալի և հարակից արժեք:

Եթե ​​ցանկանում ենք մթերային խանութում որոշ ապրանքների գներ գրել, սովորաբար դրանք թղթի վրա կնշենք այսպես.

eggs - 4.99
banana - 1.49
cheese- 4.5
eggplant - 2.5
bread - 3.99

Python բառարանի լեզվով յուրաքանչյուր նյութի անունը «բանալի» է, իսկ դրա հետ կապված գինը՝ «արժեք» և դրանք հայտնվում են զույգերով: Մենք կարող ենք նույնը ներկայացնել Python բառարանի տվյալների կառուցվածքում հետևյալ կերպ.

{"eggs": 4.99,
"banana": 1.49,
"cheese": 4.5,
"eggplant": 2.5,
"bread": 3.99}

Նկատեք տարբերությունները: Բառարանում

  • յուրաքանչյուր բանալին գտնվում է չակերտների մեջ, քանի որ դրանք տողեր են
  • կապված արժեքները չեն մեջբերում, քանի որ դրանք թվային են
  • բանալիներն ու արժեքները բաժանված են երկու կետով (:)
  • կետերը բաժանված են ստորակետերով

Այժմ, առաջին կետերում մենք ունենք {"eggs”: 4.99}, բայց իրականում, ձվերը կարող են ունենալ մի քանի արժեք՝ մեկը շագանակագույն ձվերի, մեկը սպիտակ ձվերի և մյուսը օրգանական ձվերի համար, իսկ python բառարանները թույլ են տալիս ավելացնել մեկից ավելի արժեք բառարանում այնպես, որ {“eggs”: [3.99, 4.99, 5.50]} .

Եկեք այս բառարանին անուն տանք և խաղանք դրա հետ.

grocery_items = {"eggs": [3.99, 4.99, 5.50],
"banana": 1.49,
"cheese": 4.5,
"eggplant": 2.5,
"bread": 3.99}

Դուք կարող եք բացել ձեր IDE/տեքստային խմբագրիչը և հետևել ստորև նշված կոդերին՝ մեր նոր ստեղծված այս բառարանի հետ աշխատելու համար:

Նյութերի ավելացում և հեռացում

Մենք ստեղծել ենք մեր սկզբնական բառարանը 5 տարրով, բայց կարող ենք մեծացնել այն՝ ավելացնելով ավելի շատ տարրեր.

grocery_items["onion"] = 3.50

Out: {"eggs": [3.99, 4.99, 5.50], "banana": 1.49, "cheese": 4.5, "eggplant": 2.5, "bread": 3.99, "onion": 3.50}

Դուք կարող եք մի քանի տարրեր ավելացնել նույն ձևով:

Մենք կարող ենք նաև հակառակն անել՝ հեռացնել մեկ կամ մի քանի տարրեր այս ցանկից: Դա անելու մի քանի եղանակ կա.

Հեռացրեք վերջին տարրը popitem() մեթոդով.

grocery_items.popitem()
Out: {"eggs": [3.99, 4.99, 5.50], "banana": 1.49, "cheese": 4.5, "eggplant": 2.5, "bread": 3.99}

Կամ հեռացրեք տարրն իր հիմնական անունով՝ օգտագործելով ընդամենը pop() մեթոդը՝

grocery_items.pop("banana")
Out: {"eggs": [3.99, 4.99, 5.50], "cheese": 4.5, "eggplant": 2.5, "bread": 3.99}

Եվ վերջապես, դուք կարող եք մաքրել ամբողջ բառարանը (այսինքն՝ դատարկացնելը) clear() մեթոդով և ջնջել ամբողջ բառարանը del հիմնաբառով (ուղղակի զգույշ եղեք, եթե երբևէ ստիպված լինեք օգտագործել այն):

Դուք կարող եք մտածել, թե որտեղից ինչ-որ մեկը կարող է գտնել բոլոր այդ մեթոդները: Պարզապես սեղմեք «ներդիր» ստեղնը ստեղնաշարի վրա և բոլոր մեթոդները կհայտնվեն:

Նյութերի մուտք

Հաճախ անհրաժեշտ է բառարանում ստեղների կամ արժեքների ցանկ ստանալ հետագա վերլուծության համար (հետագայում կտեսնենք, թե ինչու):

Բոլոր ստեղներին մուտք գործելու համար՝

grocery_items.keys()
Out: dict_keys(['eggs', 'banana', 'cheese', 'eggplant', 'bread'])

Փոխարենը բոլոր արժեքներին մուտք գործելու համար՝

grocery_items.values()
Out: dict_values([[3.99, 4.99, 5.5], 1.49, 4.5, 2.5, 3.99])

Մենք կարող ենք նաև հարցումներ կատարել բառարանից՝ որոշակի բանալիի արժեքը մուտք գործելու համար (օրինակ՝ բանանի գինը): Դա անելու մի քանի եղանակ կա.

# access values by key
grocery_items["banana"]
# or 
grocery_items.get("banana")
Out: 1.49

Բայց ինչ վերաբերում է ձվերին: Մենք ունենք ձվի երեք տարբեր գներ. Մենք կարող ենք ընտրել բոլոր գները՝

grocery_items.get("eggs")
Out: [3.99, 4.99, 5.5]

Մենք կարող ենք նաև ընտրել ցուցակից միայն առաջինը մուտք գործել ըստ ինդեքսի դիրքի.

grocery_items.get("eggs")[0]
Out: 3.99

Իրականում, մենք կարող ենք մուտք գործել ավելի բարդ ներդիր բառարանի տարրեր/ստեղներ/արժեքներ նույն ձևով:

Որոշ այլ մեթոդներ և գործառույթներ

Բացի վերը նշված մեթոդներից, որոնք առավել հաճախ օգտագործվում են բառարանում, կան մի քանի մեթոդներ և գործառույթներ, որոնք կարող են օգտակար լինել տվյալների վերլուծության մեջ.

Բառարանի տարրերի քանակը ստանալու համար.

len(grocery_items)
Out: 5

Բանալու արժեքը փոխելու համար՝

grocery_items.update({"banana": 0.85})

Ստեղները որպես ցուցակ փոխանցելու համար՝

list(grocery_items)
Out: ['eggs', 'banana', 'cheese', 'eggplant', 'bread']

Եթե ​​բառարանն իսկապես մեծ է, մենք կարող ենք ստուգել, ​​թե արդյոք կա բանալի.

"potato" in grocery_items
Out: False

Եվ վերջապես բառարանի լարային ներկայացումը վերադարձնելու համար.

str(grocery_items)
Out: "{'apple': 2.5, 'orange': 4.99, 'banana': 0.59}"

Շրջելով բառարանի միջով

Հաճախ անհրաժեշտ է լինում փոխել բառարանի տարրերը կամ որոշակի պայմաններից ելնելով որոշակի արժեքներ կամ ստեղներ հանել: Քանի որ բառարանները կրկնվող օբյեկտներ են, for հանգույցները հաճախ օգտագործվում են նման գործողությունների համար: Ահա մի քանի օրինակ.

Բոլոր ստեղները տպելու պարզ հանգույց.

for i in grocery_items:
    print(i)
Out:
eggs
banana
cheese
eggplant
bread

Կամ for հանգույց բառարանի ստեղների պայմանական զտման համար.

for i in grocery_items.keys():
    if i.startswith("e"):
        print(i)
Out:
eggs
eggplant

Բառարանի ըմբռնումներ

Ցուցակի ըմբռնումների պես, Python-ը նաև աջակցում է բառարանների ըմբռնմանը տարբեր տեսակի գործողություններ կատարելու համար: Վերևում մեր ստեղծած for օղակները կարող են արտահայտվել նաև բառարանի ընկալման շարահյուսությամբ:

Օրինակ՝ բառարանի արժեքները տպելու համար.

[x for x in grocery_items.values()]
Out:
[[3.99, 4.99, 5.5], 1.49, 4.5, 2.5, 3.99]

Ամփոփում

Ամփոփելու համար մենք այս հոդվածում անդրադարձել ենք.

  • Python բառարանները կրկնվող առարկաներ են՝ բանալի-արժեք զույգերով
  • բառարանները կարող են խմբագրվել արժեքներ ավելացնելու, հեռացնելու և թարմացնելու համար
  • բառարանի տարրերը հասանելի են այնպիսի մեթոդներով, ինչպիսիք են .keys(), .values() և .items()
  • բառարանները կրկնվող օբյեկտներ են, ուստի Python-ը թույլ է տալիս for հանգույցներ կամ բառարանային ընկալումներ:

Ես բաց թողեցի շատ այլ մեթոդներ և ֆունկցիոնալություններ, բայց հուսով եմ, որ սա սկզբում կստեղծի խաբեության թերթիկ՝ Python բառարանի օբյեկտների հետ աշխատելու համար:

Եթե ​​մեկնաբանություններ ունեք, գրեք դրանք ներքևում կամ կապվեք ինձ հետ Medium, Twitter կամ LinkedIn-ի միջոցով: