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-ի ցանկացած ծրագրավորողի համար, որպես կանոն: Հետևաբար, որոշ ժամանակ ներդնելը՝ դրա հիմքում ընկած շարահյուսությունը և պատճառաբանությունը հասկանալու համար արժեքավոր կլինի: