Povremeno možemo naići na situacije u kojima trebamo dodati određeni znak nakon para (drugog) znaka. Ova vrsta problema može se pojaviti kada radite s podacima koji zahtijevaju dodavanje posebnih znakova, kao što je zarezima ili drugi simboli , posebno u području strojnog učenja. Razgovarajmo o nekim pristupima rješavanju ovog problema.
U Pythonu, nizovi su nepromjenjivi, što znači da se jednom kada se niz kreira, njegov sadržaj ne može mijenjati. Međutim, možete stvoriti novi niz spajanjem dva ili više nizova. Postoji nekoliko načina za dodavanje znakova nizu u Pythonu, au ovom ćemo članku istražiti neke od najčešće korištenih metoda.
Metoda #1: Kombinacija razumijevanja popisa i join():
Određeni posao može se dovršiti kombinacijom gore navedenih metoda. Rezanje i razumijevanje popisa može se koristiti za pretvaranje niza u popis, a funkcija spajanja može se koristiti za njihovo ponovno povezivanje uz uvođenje potrebnih znakova.
Primjer:
# Python3 code to demonstrate working of insert character after every character pair using join() + list comprehension # initializing string test_str = 'JavaTpoint' # printing original string print('The original string is : ' + test_str) # Using join() + list comprehension we will Insert character after every character pair res = ', '.join(test_str[i:i + 2] for i in range(0, len(test_str), 2)) # printing result print('The string after inserting comma after every character pair : ' + res)
Izlaz:
The original string is :JavaTpoint
Obrazloženje:
Niz nakon umetanja zareza iza svakog para znakova: Ja,va,Tp,oi,nt. Vremenska složenost ove metode je Na) , gdje je n duljina ulaznog niza.
Metoda 2: Korištenje metode join().
Ovaj specifični zadatak može se izvršiti kombinacijom gore navedenih značajki. U ovoj metodi, podijeljena funkcija koristi se za dijeljenje neparan i čak likovi, dok je zip funkcija pretvara likove u iterable tuples . Nakon toga, torke se transformiraju u popis nizova kroz razumijevanje popisa, a konačni rezultat se spaja korištenjem pridružiti funkcija.
The pridružiti() metoda je moćan način spajanja nizova u Pythonu. Ova metoda zahtijeva iterable (kao što je popis ili tuple) znakovnih nizova kao ulaza i povezuje ih pomoću niza na kojem je pozvan.
piton zmija protiv anakonde
Primjer:
Uzmimo primjer da bismo razumjeli ovu metodu:
string_list = ['Hello', 'World'] delimiter = ' ' result = delimiter.join(string_list) print(result)
Izlaz:
Hello World
Obrazloženje:
U ovom primjeru, stvorili smo popis nizova tzv lista_stringova . Nakon toga smo koristili join() metoda za spajanje nizova na popisu s razmakom između njih.
Metoda 3: Korištenje formatiranih string literala
Formatirani string literali također su poznati kao f-žice . Ovo je moderniji način spajanja nizova u Pythonu. Ova metoda vam omogućuje da ugradite izraze unutar string literala, koji se zatim procjenjuju i zamjenjuju svojim vrijednostima tijekom izvođenja. Evo primjera:
name = 'John' age = 30 result = f'My name is {name} and I am {age} years old.' print(result)
Izlaz:
My name is John and I am 30 years old.
Obrazloženje:
U ovom primjeru, stvorili smo dvije varijable, Ime i dob , te ih upotrijebio unutar formatiranog literala niza za stvaranje novog niza. Izrazi unutar vitičastih zagrada procjenjuju se i zamjenjuju svojim vrijednostima tijekom izvođenja.
Metoda 4: Upotreba operatora +=
Drugi način dodavanja znakova u niz je korištenje += operator . Ovaj operator dodaje nove znakove na kraj postojećeg niza. Evo primjera:
string1 = 'Hello' string1 += ' World!' print(string1)
Izlaz:
Hello World!
Obrazloženje:
U ovom primjeru, stvorili smo niz niz1 s vrijednošću 'Zdravo' . Nakon toga smo koristili += operator za dodavanje niza 'Svijet!' do kraja niz1 .
Zaključak:
Postoji mnogo načina za ulančavanje nizova u Python, svaki sa svojim prednostima i nedostacima. The + operator i += operator su jednostavni i laki za korištenje, ali mogu biti spori kada spajaju velike nizove. The join() metoda je učinkovitiji kada povezuje veliki broj nizova, ali zahtijeva više koda za postavljanje. Formatirani string literali su moderniji i snažniji način za ulančavanje nizova, ali možda neće biti kompatibilni sa starijim verzijama Pythona.