Python - Հեռացրեք բոլոր երևույթները տեղադրված ցուցակում


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

Ներդրված ցուցակում բոլոր երևույթները հեռացնելու առավելությունները

Ուղիղություն և համահունչություն - Python-ը տալիս է նախադասության մաքուր և բնազդային կառուցվածք՝ դարձնելով այն ավելի քիչ պահանջկոտ կոդ կազմելն ու ստանալը: Python-ի օգտագործմամբ կարգավորվող ցուցակում բոլոր իրադարձությունների տարհանումն ուղղակի է և շատ գնահատելի է իր պարզության և համահունչության համար: Սա թույլ է տալիս արդյունավետ կատարելագործում և ուսումնասիրություն:

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

Capable List Control - Python-ը տալիս է ուժեղ ներկառուցված գործառույթներ և ռազմավարություններ գրառումները կառավարելու համար: Օգտագործելով այս կարևորագույն կետերը, բոլոր իրադարձությունների տարհանումը հաստատված ցուցակում դառնում է հետևողական կարգավորիչ: Հնարավորությունները, ինչպիսիք են evacuate(), del և list ըմբռնումը, հեշտացնում են անցանկալի բաղադրիչները որոշակի պայմանների հիման վրա դուրս հանելը:

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

Ժամանակի և տարածության արտադրողականություն − Python-ի ներկառուցված ցանկի կառավարման կարողությունները օպտիմիզացված են կատարման համար:

Համայնք և շրջակա միջավայր - Python-ը շահում է դինամիկ համայնքից: Սա ենթադրում է, որ դիզայներներն ունեն չափազանց լայն փաստաթղթեր, ուսումնական վարժություններ և գրադարաններ: Գոյություն ունեն բաց կոդով տարբեր փաթեթներ և համակարգեր, որոնք ուժեղացնում են ցուցակների հմուտ հսկողությունը և տեղեկատվության մշակումը, ինչը լրացուցիչ միջոցներ է տրամադրում հաստատված գրառումներում իրադարձությունների տարհանման համար:

Փոխգործունակություն - Python-ը չափազանց ճկուն է և կարող է լավ համակարգվել ծրագրավորման այլ բարբառների և սարքերի հետ: Այս փոխգործունակությունը օգտակար է դարձնում բոլոր իրադարձությունները հաստատված ցուցակից հեռացնելը, իսկապես, երբ կառավարում եք տեղեկատվություն տարբեր աղբյուրներից կամ համագործակցելով այլ բարբառներով ստեղծված շրջանակների հետ:

Մոտեցում 1. Օգտվողի կողմից սահմանված գործառույթի կիրառմամբ

Ալգորիթմ

  • Քայլ 1 − remove_occurrences() անունով ֆունկցիայի ստեղծում։ Դրանից հետո նախաստորագրեք դատարկ ցուցակը:

  • Քայլ 2 − Օգտագործեք for loop՝ նշված տարրը տեղադրված ցուցակում կրկնելու համար:

  • Քայլ 3 − Եթե տարրը ցուցակ է, ռեկուրսիվ կերպով կանչեք remove_occurrences() ֆունկցիան նրա ենթացանկերում:

  • Քայլ 4 - Եթե տարրը չի համապատասխանում թիրախային տարրին, ավելացրեք այն արդյունքների ցանկում:

  • Քայլ 5 -Վերադարձնում է արդյունքների ցանկը:

Օրինակ

def remove_occurrences(nested_list, target):
   result = []
   for element in nested_list:
      if isinstance(element, list):
         result.append(remove_occurrences(element, target))
      elif element != target:
         result.append(element)
   return result


nested_list = [1, [2, 3, 2], [4, [5, 2, 6]], 2]
target = 2
output = remove_occurrences(nested_list, target)
print(output)

Արդյունք

[1, [3], [4, [5, 6]]]

Մոտեցում 2. օգտագործելով ռեկուրսիա՝ սկզբնական ցուցակը փոփոխելու համար

Ալգորիթմ

  • Քայլ 1 - Սահմանեք ֆունկցիա remove_occurrences(), որը պարունակում է երկու արգումենտ ֆունկցիայի սահմանման մեջ:

  • Քայլ 2 − Եթե բանը կարող է լինել ցուցակ, ռեկուրսիվ կերպով կանչեք remove_occurrences() աշխատանքը դրա ենթացանկերում:

  • Քայլ 3 - Եթե բաղադրիչը համապատասխանում է թիրախային բաղադրիչին, օգտագործեք del հիմնաբառը՝ այն ցանկից հեռացնելու համար:

  • Քայլ 4 - Վերադարձնում է ճշգրտված ցուցակը:

Օրինակ

#define function
def remove_occurrences(nested_list, target):
   for i in range(len(nested_list) - 1, -1, -1):
      element = nested_list[i]
      if isinstance(element, list):
         remove_occurrences(element, target)
      elif element == target:
         del nested_list[i]
   return nested_list
#Initialize the nested list
nested_list = [1, [2, 3, 2], [4, [5, 2, 6]], 2]
target = 2
output = remove_occurrences(nested_list, target)
print(output)

Արդյունք

[1, [3], [4, [5, 6]]]

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

Այս հոդվածում մենք դիտարկել ենք երեք տարբեր մոտեցումներ՝ բոլոր երևույթները ներառված ցուցակից հեռացնելու համար: Մենք տրամադրեցինք հաշվարկների օրինակներ, քայլ առ քայլ մեթոդներ և Python նախադասության կառուցվածքը յուրաքանչյուր մոտեցման համար: Ձեր ընտրած մոտեցումը կախված է ձեր դասընթացի կոնկրետ պահանջներից և ձեր տեղեկատվության կառուցվածքից: Այս ռազմավարությունների ըմբռնմամբ դուք կարող եք արդյունավետորեն վերահսկել ֆիքսված տվյալների հավաքածուն Python-ում՝ ձեր կարիքներին համապատասխան: