Python - Հեռացրեք Front K տարրերը


<h2>Ներածություն <p>Դրա պարզությունն ու բազմակողմանիությունը Python-ին դարձնում են հայտնի ծրագրավորման լեզու: Տվյալների մանիպուլյացիայի մեջ հաճախ կատարվող առաջադրանքը ներառում է տարրերի հեռացում ցուցակից՝ ըստ հատուկ պայմանների: Եթե ցանկանում եք զտել որոշակի արժեքներ կամ հանել տվյալների ենթաբազմություն, կարող եք դա անել: Այս նպատակները կարող են արդյունավետ կերպով հասնել Python-ի միջոցով: Այս հոդվածը կուսումնասիրի առաջին K տարրերը ցուցակից հեռացնելու գործընթացը, որոնք համապատասխանում են տրամադրված պայմանին: Մենք կարող ենք պարզեցնել գործընթացը և բարելավել մեր տվյալների մշակման աշխատանքային հոսքերը՝ օգտագործելով Python-ի արտահայտիչ շարահյուսությունը և հզոր հնարավորությունները: Մենք կուսումնասիրենք խնդրի սահմանումը և կուսումնասիրենք շարահյուսությունը և քայլ առ քայլ ալգորիթմը:

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

Առջևի K տարրերի հեռացում:

Սահմանում

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

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


del name_of_the_list [:k]
or
del name_of_the_list [start: end]

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

Ալգորիթմ

  • Քայլ 1. Ստուգեք, արդյոք ցանկի տարրերի թիվը հավասար է կամ մեծ է, քան K-ն:

  • Քայլ 2. Եթե այս պայմանը բավարարված է, օգտագործեք ցուցակի կտրատում, որն ուղեկցվում է ջնջելով առաջին K տարրերը del-ի միջոցով:

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

  • Քայլ 4. Այդ տարրերը հեռացնելուց հետո տպեք ձեր ցուցակի թարմացված տարբերակը:

  • Քայլ 5. Ելնելով ձեր ծրագրի անհրաժեշտություններից, կամ դուրս եկեք դրանից կամ կատարեք հետագա առաջադրանքները ըստ անհրաժեշտության:

Մոտեցում

  • Մոտեցում 1– Օգտագործելով del and list slicing

  • Մոտեցում 2− Օգտագործելով map() + lambda

Մոտեցում 1– Օգտագործելով del and list slicing

Օրինակ


def remove_initial_elements(lst, k):
   if len(lst) >= k:
      del lst[:k]
      print("Modified List:", lst)
   else:
      print("Error: Insufficient elements in the list.")

# Test the function
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k_value = 3
remove_initial_elements (my_list, k_value)

Արդյունք


Modified List: [4, 5, 6, 7, 8, 9, 10]

Բացատրություն

Այս օրինակում մենք սահմանում ենք մի ֆունկցիա, որը կոչվում է remove_front_elements: Դրա պարամետրերը ներառում են ցուցակ (lst) և հեռացվող տարրերի քանակը (k): Ցանկի առաջին k տարրերը վերացվում են ֆունկցիայի կողմից: Ֆունկցիան մուտքագրելուց հետո մենք սկզբում ստուգում ենք, թե արդյոք ցուցակի չափը գերազանցում է, թե հավասար է k-ին: Հաստատող սցենարի դեպքում մենք ընտրում ենք ցուցակի կտրատումը (del lst [: k]) վերացնելու k տարրերը նշված ցուցակի սկզբից: Ի վերջո, վերանայված ցուցակը թողարկվում է: Սխալի հաղորդագրություն է տպվում, եթե ցանկը պարունակում է k-ից պակաս տարրեր:

Մոտեցում 2− Օգտագործելով map() + lambda

Օրինակ


# Initializing the string list
test_list = ['geeks', 'for', 'geeks']

# Printing the original string list
print("Original String List : ", test_list)

# Initializing K to the number of characters to remove from the front of each string in the list
K = 2

# Using map() and lambda to remove front K characters from each string in the list
res = list(map(lambda x: x[K:], test_list))

# Printing the resulting string list
print("String List after removing front K characters : ", res)

Արդյունք


Original String List :  ['geeks', 'for', 'geeks']
String List after removing front K characters :  ['eks', 'r', 'eks']

Բացատրություն

Մենք ունենք մի ցուցակ, որը վերնագրված է test_list կոդի ներսում երեք տողային բաղադրիչներով՝ «geeks», «for» և «geeks»: 2-ի սկզբնական արժեքը պետք է օգտագործվի յուրաքանչյուր տողից առաջին K նիշերը վերացնելու համար:

Մենք կարող ենք օգտագործել «քարտեզ()» ֆունկցիան լամբդա ֆունկցիայի հետ միասին՝ անցնելու test_list-ի յուրաքանչյուր տարրի միջով և գործարկելու lambda ֆունկցիան՝ յուրաքանչյուր տողի սկզբնական K նիշերը հեռացնելու համար: Այնուհետև, սկզբնական K նիշերը վերացնելով, ստացվում է տողերի թարմ շարք: «list()» ֆունկցիան օգտագործվում է ստացված քարտեզագրված օբյեկտը ցուցակի վերածելու համար, որն այնուհետև պահվում է res փոփոխականում:

Սկզբնական K նիշերը վերացնելուց հետո փոփոխված տողերի ցանկը բնօրինակ տողերի ցանկի հետ միասին ցուցադրվում է ելքով: Փոփոխված ցանկն այս դեպքում ['eks', 'r', 'eks'] է: Փոփոխությունը ենթադրում է, որ սկզբնական երկու նիշերը վերացվել են սկզբնական ցուցակի յուրաքանչյուր տողից:

Եթե ցանկանում եք վերացնել շատ թե քիչ նիշերը յուրաքանչյուր տողի սկզբից, կարող եք համապատասխանաբար հարմարեցնել K-ի արժեքը: Խնդրում ենք նկատի ունենալ սա:

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

Կան բազմաթիվ մեթոդներ Python ցուցակից նախնական K տարրերը հեռացնելու համար, ի վերջո: Դել հիմնաբառի օգտագործումը կամ «քարտեզ()» և լամբդա մեթոդների օգտագործումը ներառված են դրանում: Ցանկից սկզբնական K տարրերը ջնջելու արագ և պարզ մոտեցում է առաջարկվում del հրամանով: Լարային ցուցակները չեն կարող արդյունավետ գործել առանց «քարտեզ()» և լամբդա գործառույթների: Չափազանց կարևոր է հիշել, որ ցուցակից անդամներին հեռացնելը կարող է փոխել և՛ չափը, և՛ հերթականությունը: Կան տարբեր մոտեցումներ դա իրականացնելու համար՝ կախված օգտագործման կոնկրետ սցենարից: Python ցուցակի առաջին K տարրերը հեռացնելը արժեքավոր հմտություն է Python-ի ցանկացած ծրագրավորողի համար, որպես կանոն: Հետևաբար, որոշ ժամանակ ներդնելը՝ դրա հիմքում ընկած շարահյուսությունը և պատճառաբանությունը հասկանալու համար արժեքավոր կլինի: