Python - Հեռացրեք տարրը բառարանից, երբ բանալին անհայտ է


<h2>Ներածություն <p> Python-ի բառարանները լայնորեն կիրառվող տվյալների կառուցվածք են, որոնք ապահովում են բազմակողմանիություն՝ հնարավորություն տալով պահել հիմնական արժեքների զույգերը: «Նրանք առաջարկում են տվյալների մուտք գործելու և շահարկելու արդյունավետ միջոց» նախադասությունը։ Բառարանների հետ գործ ունենալիս կարող են լինել դեպքեր, երբ դուք պահանջում եք վերացնել որևէ տարր, երբ բանալին անհայտ է: Այս հոդվածում տարբեր մեթոդաբանություններ կուսումնասիրվեն այս խնդրի լուծման համար, ներառյալ կոդերի ուղեկցող նմուշները և բացատրությունները:

Սահմանում

Python-ն օգտագործում է բառարանները՝ որպես հեշ աղյուսակներ՝ հնարավորություն տալով արժեքների արդյունավետ որոնում՝ հիմնվելով կոնկրետ բանալիի վրա: Տարրի հետ կապված բանալին պահանջվում է բառարանից տարրը հեռացնելու համար: Այնուամենայնիվ, կարող են լինել դեպքեր, երբ բանալին, որը կապված է այն տարրի հետ, որը մենք ցանկանում ենք հեռացնել, անհայտ է: Նման դեպքերում իրը հեռացնելու համար տարբեր մեթոդներ են պահանջվում։

Շարահյուսություն


del my_dict[key]

Օգտագործելով del հիմնաբառ

Բառարանը տվյալների կառուցվածք է, որը ներառում է բանալի-արժեք զույգեր՝ յուրաքանչյուր բանալին տարբեր լինելու երաշխիքով: Բառարանից մուտքը հեռացնելու համար անհրաժեշտ է իմանալ տվյալ մուտքի հետ կապված բանալին: Այնուամենայնիվ, կարող են ի հայտ գալ սցենարներ, երբ բանալին, որը կապված է այն նյութի հետ, որը ցանկանում ենք վերացնել, մնում է անհայտ: Այս սցենարները լուծելու համար անհրաժեշտ են այլընտրանքային մեթոդներ՝ օբյեկտը վերացնելու համար:

'My_dict-ը բառարանի անունն է, և բանալին վերաբերում է այն տարրի բանալին, որը պետք է հեռացվի։' KeyError բացառությունը բարձրացվում է, եթե բանալին չկա բառարանում:


my_dict.pop(key, None)

Օգտագործելով pop() մեթոդը

«Pop() մեթոդը Python-ում ներկառուցված ֆունկցիոնալություն է, որը նախատեսված է որոշակի տարրը բառարանից արագ վերացնելու համար: Այս մոտեցումն օգտագործելու համար անհրաժեշտ է գիտելիք ունենալ հատուկ տարրի բանալին, որը պահանջում է հեռացնել: Այն դեպքում, երբ բանալին հայտնի չէ, մենք կարող ենք կարգավորել KeyError բացառությունը, որն առաջացել է՝ փորձելով հեռացնել pop() մեթոդում գոյություն չունեցող բանալի՝ փոխանցելով լռելյայն արժեք: KeyError բացառություն է առաջանում, եթե բանալին բացակայում է բառարանում և նշված չէ լռելյայն արժեք: |


new_dict = {k:v for k,v in my_dict.items() if k != key}

Օգտագործելով բառարանի ըմբռնում

Բառարանի ըմբռնումը կոմպակտ տեխնիկա է արդեն գոյություն ունեցող բառարանի միջոցով թարմ բառարան ստեղծելու համար: Այս մեթոդով տարրը բառարանից հեռացնելու համար մենք կարող ենք կառուցել նոր բառարան, որը ներառում է բանալի-արժեքի բոլոր զույգերը, բացառությամբ ցանկալի տարրի: Բառարանից տարրը բառարանից հեռացնելու շարահյուսությունը հետևյալն է. `new_dict={key: արժեքը բանալու համար, արժեքը my_dict.items-ում() if key != specified_key}`: Սա ստեղծում է նոր բառարան, որը կոչվում է «new_dict», որը պարունակում է բնօրինակ բառարանի բոլոր բանալիների արժեքների զույգերը՝ բացառությամբ նշված բանալիով:

Ալգորիթմ

  • Քայլ 1. Ստացեք այն տարրի բանալին, որը պետք է հեռացվի:

  • Քայլ 2. Ստուգեք՝ արդյոք տրված բանալին գոյություն ունի բառարանում: ,

  • Քայլ 3. Երբ բանալին գոյություն ունի, օգտագործեք նշված տեխնիկաներից մեկը՝ տարրը վերացնելու համար: u2060

  • Քայլ 4. Եթե բանալին բացակայում է, ձեռնպահ մնացեք որևէ գործողություն կատարելուց: |

  • Քայլ 5. Տպեք թարմացված բառարանը:

Մոտեցում

  • Մոտեցում 1 – Օգտագործելով del հիմնաբառը:

  • Մոտեցում 2 - Օգտագործելով pop() մեթոդը

Մոտեցում 1 – Օգտագործելով del հիմնաբառը:

Օրինակ


# Define a dictionary
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}

# Get the key of the item to be removed
key_to_remove = 'banana'

# Remove the item using the del keyword
try:
    del my_dict[key_to_remove]
except KeyError:
    pass

# Print the updated dictionary
print(my_dict)

Արդյունք


{'apple': 1, 'orange': 3}

Տրամադրված կոդը սահմանում է my_dict անունով բառարանը երեք բանալի-արժեք զույգերով՝ «խնձոր»՝ 1 արժեքով, «բանան»՝ 2 արժեքով և «նարնջագույն»՝ 3: Շարունակեք նշելով բանալին: այն տարրի, որը պահանջում է հեռացնել բառարանից: Այս սցենարի բանալին դրված է «banana» u2060 և այնուհետև նշանակվում է key_to_remove փոփոխականին: |

del բանալի բառն օգտագործվում է բառարանից որևէ առարկա վերացնելու համար: Բանալին-արժեք զույգը կարող է ջնջվել բառարանից՝ օգտագործելով del հիմնաբառը բառարանի անվան և բանալիի հետ միասին, երկուսն էլ փակցված են քառակուսի փակագծերում: «banana» բանալիով տարրը հեռացվում է my_dict բառարանից՝ օգտագործելով del my_dict[key_to_remove] այս կոդը: |

Կոդն իրականացնում է սխալների մշակում try-except բլոկով, քանի որ նշված բանալին կարող է պոտենցիալ գոյություն չունենալ բառարանում: KeyError բացառություն է առաջանում, եթե բանալին բացակայում է: Ծրագրերը, բացի բլոկից, նախագծված են KeyError u2060 բացառությունը բռնելու համար, մինչդեռ pass-ը թույլ է տալիս անխափան կատարում: |

Մոտեցում 2- Օգտագործելով pop() մեթոդը

Օրինակ


# Define a dictionary
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}

# Get the key of the item to be removed
key_to_remove = 'banana'

# Remove the item using the pop() method
my_dict.pop(key_to_remove, None)

# Print the updated dictionary
print(my_dict)

Արդյունք


{'apple': 1, 'orange': 3}

Տրամադրված կոդը սահմանում է «my_dict» անունով բառարանը երեք բանալի-արժեք զույգերով. «խնձոր»-ն ունի 1 արժեք u2060, «բանան»-ը՝ 2, և «նարնջագույն»-ը՝ 3: Սրա նպատակը: բառարանը ներառում է տարրերի խումբ, որտեղ յուրաքանչյուր տարր կապված է հստակ բանալիով: |

Վերջին քայլը ներառում է այն տարրի բանալին, որը պետք է հեռացվի բառարանից: «banana» ստեղնը նույնացվում է և վերագրվում է key_to_remove փոփոխականին՝ հեռացնելու համար: Այս փոփոխականը կօգտագործվի՝ նշանակելու հատուկ բանալին, որը մենք մտադիր ենք հեռացնել բառարանից: |

Pop() մեթոդն օգտագործվում է բառարանից որևէ տարր վերացնելու համար: Pop() գործողությունը հնարավորություն է տալիս հեռացնել տարրը՝ նշելով u2060 նրա բանալին և այն նաև վերադարձնում է համապատասխան արժեքը: «Այս կոդի մեջ օգտագործելով pop() մեթոդը՝ «banana» բանալիով տարրը հեռացվում է my_dict բառարանից։' u2060

Pop() մեթոդը ստանում է u2060 երկու արգումենտ: Ներկայացված նախադասությունն արդեն պարզ է և հակիրճ: Լրացուցիչ մշակման կարիք չկա: Նշված բանալին բառարանում չի գտնվել, կամընտիր արժեք կարող է տրամադրվել որպես երկրորդ արգումենտ և այնուհետև կվերադարձվի: Այս կոդի երկրորդ արգումենտը դրված է None-ի վրա՝ նշելով, որ եթե նշված բանալի «banana» չգտնվի, ոչ մի արժեք չի վերադարձվի: ,

Բառարանում pop() մեթոդը հեռացնում է բանալի-արժեք զույգը և  u2060 վերադարձնում է համապատասխան արժեքը, եթե նշված բանալին առկա է: Այնուամենայնիվ, այն դեպքում, երբ բանալին հնարավոր չէ գտնել,  u2060 pop() մեթոդը սխալ չի առաջացնի:

Եզրակացություն

Հասկանալով և կիրառելով տարբեր մոտեցումներ՝ դուք կարող եք վստահորեն հեռացնել բառարանից, երբ բանալին անհայտ է: Այս մոտեցումները ձեզ հնարավորություն կտան արդյունավետ կերպով շահարկել և կարգավորել բառարանի տեղեկատվությունը ձեր Python նախագծերում: |