Python - Բազմապատկել ամբողջ թիվը տողերի և թվերի խառը ցուցակում
Python-ը ճկուն ծրագրավորման լեզու է, որը հայտնի է իր հեշտությամբ և հարմարվողականությամբ: Այն տալիս է ներկառուցված հզորությունների և տվյալների տեսակների լայն տեսականի, որոնք հեշտացնում են տարբեր գործողություններ կատարելը: Python-ի ծրագրավորման ընդհանուր առաջադրանքներից մեկը տողերի և թվերի խառը ցուցակում ինտեգրելիության բարձրացումն է: Այս հոդվածում մենք կուսումնասիրենք այս նպատակին հասնելու երեք տարբեր մոտեցումներ՝ քայլ առ քայլ պարզաբանումների և գործի կոդերի հետ միասին: Մենք նույնպես կանդրադառնանք Python-ի կենսական շարահյուսությանը յուրաքանչյուր մոտեցման համար:
Ամբողջ թվերի բազմապատկում խառը տողերով
Python-ում տողերի և թվերի խառը ցուցակով կառավարելիս ամբողջ թվով տարրերը բազմապատկելը, մինչդեռ տողերը անփոփոխ մաքրելը հատուկ ուշադրություն է պահանջում: Մոտեցումներից մեկը ներառում է ցուցակի մեջ կրկնելը, յուրաքանչյուր բաղադրիչի տեսակը ստուգելը և ամբողջ թվերը ցանկալի թվով բազմապատկելը: Մեկ այլ մոտեցում զբաղվածության ցուցակի ըմբռնում և պայմանական արտահայտություն՝ ճշգրտված տարրերով ժամանակակից ցուցակ կազմելու համար: Նաև, ծրագրավորման օգտակար տեխնիկան կարող է կիրառվել՝ օգտագործելով lambda ֆունկցիան և «map()» ֆունկցիան՝ ամբողջ թվերը կրկնօրինակելու համար: Այս մոտեցումները տալիս են հարմարվող լուծումներ՝ խառը ցուցակի ներսում թվերի բաղադրիչների վրա անհրաժեշտ բազմապատկման գործողությունը կատարելու համար:
Մոտեցում 1. Կրկնություն և տիպի ստուգում
Առաջնային մոտեցումը ներառում է ցանկի մեջ գտնվող բաղադրիչների կրկնությունը և ստուգելը, որ յուրաքանչյուր բաղադրիչ մի թիվ է: Այն դեպքում, մենք այն բազմապատկում ենք գործող տարրով։
Ալգորիթմ
Կազմեք «multiply_integers» անունով ֆունկցիա, որն ընդունում է ցուցակը որպես արգումենտ
Նախաձեռնեք «արդյունք» անունով դատարկ ցուցակ՝ փոփոխված բաղադրիչները պահելու համար
-
Կրկնել յուրաքանչյուր բաղադրիչի միջով մուտքագրման ցանկում՝ օգտագործելով «for» հանգույցը:
Ստուգեք, արդյոք ընթացիկ բաղադրիչը «int» դասի առաջացում է՝ օգտագործելով «isinstance()» ֆունկցիան:
Եթե բաղադրիչը ամբողջ թիվ է, ավելացրեք այն 2-ով և արդյունքը կցեք «արդյունք» ցանկին
Եթե բաղադրիչը ամբողջ թիվ չէ, ավելացրեք այն, քանի որ այն գտնվում է «արդյունք» ցանկում
Վերադարձեք «արդյունքների» ցուցակը:
Որպես վիճաբանություն, կանչեք «multiply_integers» ֆունկցիան՝ փորձնական խառը ցուցակով:
Տպեք վերադարձված ցուցակը:
Օրինակ
def multiply_integers_in_list(lst):
product = 1
for element in lst:
if isinstance(element, int):
product *= element
return product
my_list = [2, 53, '478', 50, '666', 17, 'xyz']
result = multiply_integers_in_list(my_list)
print(result)
Արդյունք
90100
Մոտեցում 2. Ցանկի ըմբռնման օգտագործում
Երկրորդ մոտեցումը օգտագործում է Python-ում ցուցակի ընկալման վերահսկումը: Ցանկի ըմբռնումը հնարավորություն է տալիս գոյություն ունեցող ցուցակների հիման վրա ցուցակներ կազմելու հակիրճ ձևով. Ահա այն քայլերը, որոնք պետք է ձեռնարկվեն հետո.
Ալգորիթմ
Կազմեք «multiply_integers» անունով ֆունկցիա, որը մուտքագրում է ցուցակը
Օգտագործեք ցուցակի ըմբռնում, որպեսզի կրկնեք յուրաքանչյուր տարրի վրա մուտքագրման ցանկում:
-
Ցանկի ըմբռնման շրջանակներում օգտագործեք պայմանական արտահայտություն՝ ստուգելու համար, որ բաղադրիչը թիվ է:
Այն դեպքում, երբ բաղադրիչը ամբողջ թիվ է, ավելացրեք այն 2-ով; ուրիշ բան, անփոփոխ պահիր։
Վերադարձեք ցուցակը:
Զանգահարեք «multiply_integers» ֆունկցիան փորձարկման խառը ցուցակով:
Տպեք վերադարձված ցուցակը
Օրինակ
from functools import reduce
import operator
def multiply_integers_in_list(lst):
new_list = [element for element in lst if isinstance(element, int)]
product = reduce(operator.mul, new_list, 1)
return product
my_list = [25, 93, '74', 54, '6', 7, 'abc']
result = multiply_integers_in_list(my_list)
print(result)
Արդյունք
878850
Մոտեցում 3. Օգտագործելով զտիչ() և լամբդա ֆունկցիաները
Երրորդ մոտեցումը օգտագործում է filter() ֆունկցիան լամբդա ֆունկցիայի հետ համատեղ: Filter() ֆունկցիան կրկնում է կրկնվողի բաղադրիչներից, որոնց համար տվյալ ֆունկցիան վերադարձնում է true: Ահա թե ինչպես մենք կօգտագործենք այս մոտեցումը.
Ալգորիթմ
Կազմեք լամբդա ֆունկցիա, որն ընդունում է բաղադրիչը որպես մուտքագրում և այն բազմապատկում է 2-ով, եթե դա թիվ է։ այլ բան, բաղադրիչը վերադարձնում է անփոփոխ:
Կազմեք «multiply_integers» կոչվող ֆունկցիա, որն ընդունում է ցուցակը որպես վիճաբանություն
Օգտագործեք «map()» ֆունկցիան lambda ֆունկցիայի կողքին՝ ցանկի յուրաքանչյուր բաղադրիչի վրա կիրառելու մեծացման գործողությունը:
Փոխեք «քարտեզ()»-ի արդյունքը դեպի ցուցակ՝ օգտագործելով «list()» գործառույթը:
-
Վերադարձեք ցուցակը:
Զանգահարեք «multiply_integers» ֆունկցիան փորձարկման խառը ցուցակով:
Տպեք վերադարձված ցուցակը:
Օրինակ
from functools import reduce
import operator
def multiply_integers_in_list(lst):
integers = filter(lambda x: isinstance(x, int), lst)
product = reduce(operator.mul, integers, 1)
return product
my_list = [5, 2, 'abc', 3, '6', 'pqr']
result = multiply_integers_in_list(my_list)
print(result)
Արդյունք
30
Եզրակացություն
Այս հոդվածում մենք ուսումնասիրեցինք Python-ի օգտագործմամբ ամբողջ թվերը բազմապատկելու երեք տարբերակիչ մոտեցումներ տողերի և թվերի խառը ցուցակում: Մենք ուսումնասիրեցինք քայլ առ քայլ բռնակը և յուրաքանչյուր մոտեցման համար տվեցինք նկարազարդման ծածկագիր: Առաջնային մոտեցումը ներառում էր ցանկի միջով կրկնվող հանգույցի օգտագործումը, մինչդեռ երկրորդ և երրորդ մոտեցումներն օգտագործում էին ցուցակի ընկալումը և զտիչ() ֆունկցիան՝ առանձին լամբդա ֆունկցիայով: Հասկանալով այս մոտեցումները՝ դուք հաջողությամբ կհասկանաք համեմատական խնդիրները ձեր Python նախագծերում: