Python ծրագիր՝ նիշերի զանգվածը տողի վերածելու համար


Python-ում մենք ունենք մի քանի ներկառուցված ֆունկցիաներ, ինչպիսիք են join(), map(), reduce() և len(), որոնք կարող են օգտագործվել նիշերի զանգվածը տողի վերածելու համար: Նիշերի զանգվածը սահմանվում է յուրաքանչյուր նիշը տողից կտրելու միջոցով: Python-ն ունի նախապես սահմանված մեթոդ join()՝ միացնելու բոլոր նիշերը տողը ստեղծելու համար: Ծրագիրը լուծելու մեկ այլ եղանակ է ցուցակի ըմբռնումը և join() մեթոդի օգտագործումը:

Բերենք օրինակ՝ հասկանալու համար նիշերի զանգվածի վերածումը տողի −

  • Նիշը «p», «e» և «n» է. տողը դառնում է գրիչ:

  • Նիշը «S», «A», «N», «D», «B», «O», «X». տողը դառնում է SANDBOX:

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

join()

Join()-ը Python-ում նախապես սահմանված մեթոդ է՝ միացնելու բոլոր նիշերը՝ տողը ձևավորելու համար:

len()

len()-ը Python-ում ներկառուցված մեթոդ է, որը կարող է օգտագործվել երկարության ընդհանուր թիվը որոշելու համար։

map()

Ֆունկցիան կարող է կիրառվել յուրաքանչյուր տարրի վրա կրկնվող (օրինակ՝ ցուցակի կամ tuple-ի) վրա՝ օգտագործելով Python's map() մեթոդը, որն այնուհետև արդյունքներով վերադարձնում է նոր կրկնվող:

reduce()

Սա Python-ում ներկառուցված գործառույթ է, որը հետևում է functools անունով մոդուլին և իրականացնում է որոշակի գործողություն տարրերի ցանկի վրա:

Օրինակ 1

Այս ծրագրում մենք կսկսենք ծրագիրը՝ պահպանելով մուտքային ցուցակի նիշերը arr_char փոփոխականում: Այնուհետև սկզբնավորեք «changer» փոփոխականը՝ տողը պահելու համար՝ սահմանելով դատարկ տողը join() մեթոդով, որը ստեղծում է տողի ձևավորումը։ Ի վերջո, տպեք արդյունքը:

arr_char=['T','u', 't', 'o', 'r','i', 'a', 'l','s', 'p', 'o', 'i', 'n', 't']
changer=''.join(arr_char)
print("The string is", changer)

Արդյունք

The string is Tutorialspoint

Օրինակ 2

Հետևյալ օրինակում մենք կսկսենք ծրագիրը՝ պահպանելով նիշերի զանգվածի մուտքային ցուցակը ‘ary_char’ փոփոխականում: Դարձրեք դատարկ տողի փոփոխականը ‘c_str’, որը հետագայում բոլոր նիշերը կպահի տողի մեջ: Այնուհետև օգտագործեք for օղակը՝ ‘ary_char’ փոփոխականը ‘char’ փոփոխականի մեջ կրկնելու համար՝ ամբողջ նիշը միասին ավելացնելու համար: Վերջապես տպեք փոփոխականը ‘c_str’ փոփոխականի օգնությամբ։

#convert character array into a string
ary_char = ['P','E','N','C','I','L']
c_str = ""
for char in ary_char:
 c_str += char
print("The string is",c_str)

Արդյունք

The string is PENCIL

Օրինակ 3

Հետևյալ օրինակում այս կոդի while հանգույցը նիշերի զանգվածը վերածում է տողի։ Զանգվածի յուրաքանչյուր նիշը կրկնվում է, այնուհետև նիշը ավելացվում է սկզբնապես դատարկ տողի մեջ: Արդյունքի տողը տպվում է, երբ հանգույցն ավարտված է:

char_arr = ['B', 'l', 'a', 'c', 'k']
emp_str = ""
i = 0
while i < len(char_arr):
   emp_str += char_arr[i]
   i += 1
print(emp_str)

Արդյունք

Black

Օրինակ 4

Հետևյալ օրինակում քարտեզի ֆունկցիան և տողերի միացման մեթոդը օգտագործվում են այս կոդում՝ նիշերի զանգվածը տողի վերածելու համար: Այն նախ կառուցում է նիշերի զանգված, որից հետո str ֆունկցիան կիրառում է զանգվածի յուրաքանչյուր տարրի վրա՝ օգտագործելով քարտեզ ֆունկցիան։ Դրանից հետո տողերի կրկնվող բառն ուղարկվում է join մեթոդին, որը միացնում է բոլոր տողերը՝ ստեղծելով մեկ տող: Դրանից հետո ստացված տողը տպվում է:

char_arr = ['S', 'c', 'h', 'o', 'l','a','r']
my_str = ''.join(map(str, char_arr))
print("The array of character into string:", my_str)

Արդյունք

The array of character into string: Scholar

Օրինակ 5

pip install funtools

Տեղադրեք վերը նշված հրամանը ձեր Python համակարգում

Հետևյալ օրինակում այս կոդում սահմանված է char_to_str ֆունկցիան, որն ընդունում է նիշերի ցանկը որպես մուտքագրում և թողարկում տող։ Յուրաքանչյուր նիշ կավելացվի սկզբնական դատարկ տողի մեջ, որը կոչվում է emp_str, քանի որ ֆունկցիան կրկնվում է s ցուցակի տարրերի միջոցով: Այնուհետև այն դուրս է բերում տողը, որը միավորվել է նիշերի զանգվածից:

import functools
def char_to_str(s):
   emp_str = ""
   for x in s:
      emp_str += x
   return emp_str
arr_char = ['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n','t']
print(char_to_str(arr_char))

Արդյունք

Tutorialspoint

Նկատի ունեցեք, որ Python-ի functools մոդուլն առաջարկում է գործիքներ այլ ֆունկցիաների, ինչպես նաև ավելի բարձր կարգի ֆունկցիաների հետ փոխազդելու համար: Ֆունկցիան, որը կարող է այլ ֆունկցիաներ ընդունել որպես արգումենտ կամ վերադարձնել դրանք որպես արդյունք, հայտնի են որպես ավելի բարձր կարգի ֆունկցիաներ։ Այս մոդուլն առաջարկում է մի քանի ֆունկցիաներ, ինչպիսիք են՝ reduce(), chache() և partal():

Օրինակ 6

Հետևյալ օրինակում սկսեք ծրագիրը ներմուծելով functools անունով մոդուլը, որն ապահովում է ներկառուցված կրճատում() անունով մեթոդը։ Այնուհետև սահմանեք char_to_str ֆունկցիա, որը մուտքագրում է s նիշերի ցուցակը և վերադարձնում տող: Ֆունկցիան կիրառում է lambda ֆունկցիան ձախից աջ ցուցակի յուրաքանչյուր տարրի վրա՝ օգտագործելով functiontools մոդուլի կրճատում() ֆունկցիան։ Լամբդա ֆունկցիան միացնում է երկու մուտքերը՝ x և y: Դրանով նիշերի ցանկը միավորվում է մեկ արժեքով, որը ներկայացնում է նիշերի ամբողջ ցանկը:

import functools
def char_to_str(s):
   return functools.reduce(lambda x, y: x + y, s)
arr_char = ['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n','t']
print(char_to_str(arr_char))

Արդյունք

Tutorialspoint

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

Մենք հասկացանք երկու օրինակների միջև եղած տարբերությունը՝ նիշերի զանգվածը տողի վերածելով: Օրինակ 1-ում նախապես սահմանված join() մեթոդը օգտագործվում է բոլոր նիշերը միասին միացնելու համար, մինչդեռ օրինակ 2-ում for հանգույցն օգտագործվում է յուրաքանչյուր նիշ կրկնելու և տողը տպելու համար դատարկ փոփոխականի մեջ պահելու համար: