Աշխատեք 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-ի միջոցով: