logo

Ciąg Pythona

Ciąg to struktura danych w programowaniu w Pythonie, która reprezentuje sekwencję znaków. Jest to niezmienny typ danych, co oznacza, że ​​utworzonego łańcucha nie można już zmienić. Ciągi Python String są szeroko stosowane w wielu różnych zastosowaniach, takich jak przechowywanie i manipulowanie danymi tekstowymi, reprezentowanie nazw, adresów i innych typów danych, które można przedstawić w postaci tekstu.

Spis treści

Co to jest ciąg w Pythonie?

Pyton Programowanie nie ma znakowego typu danych, pojedynczy znak to po prostu ciąg znaków o długości 1. Zobaczmy Składnia ciągu Pythona :



Składnia typu danych String w Pythonie

string_variable = 'Hello, world!'>

Przykład typu danych string w Pythonie

Pyton
string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>

Wyjście:

A Computer Science portal for geeks>

Utwórz ciąg w Pythonie

Ciągi w Pythonie można utworzyć przy użyciu pojedynczych cudzysłowów, podwójnych cudzysłowów, a nawet potrójnych cudzysłowów. Zobaczmy jak możemy zdefiniować ciąg w Pythonie lub jak napisać ciąg w Pythonie.

Przykład:

W tym przykładzie zademonstrujemy różne sposoby tworzenia ciągu Pythona. Utworzymy ciąg znaków, używając pojedynczych cudzysłowów („”), podwójnych cudzysłowów ( ) i potrójnych cudzysłowów ( ). Potrójnych cudzysłowów można używać do deklarowania ciągów wielowierszowych w Pythonie.

Pyton
# Creating a String # with single Quotes String1 = 'Welcome to the Geeks World' print('String with the use of Single Quotes: ') print(String1) # Creating a String # with double Quotes String1 = 'I'm a Geek' print('
String with the use of Double Quotes: ') print(String1) # Creating a String # with triple Quotes String1 = '''I'm a Geek and I live in a world of 'Geeks'''' print('
String with the use of Triple Quotes: ') print(String1) # Creating String with triple # Quotes allows multiple lines String1 = '''Geeks  For  Life''' print('
Creating a multiline String: ') print(String1)>

Wyjście:

String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of 'Geeks' Creating a multiline String: Geeks For Life>

Dostęp do znaków w Pythonie String

W samouczkach programowania w języku Python dostęp do poszczególnych znaków ciągu można uzyskać za pomocą metody indeksowania. Indeksowanie umożliwia negatywnym odwołaniom do adresu dostęp do znaków z tyłu ciągu, np. -1 odnosi się do ostatniego znaku, -2 odnosi się do przedostatniego znaku i tak dalej.

Podczas uzyskiwania dostępu do indeksu spoza zakresu spowoduje Błąd indeksu . Jako indeksy, liczby zmiennoprzecinkowe lub inne typy można przekazywać wyłącznie liczby całkowite, co spowoduje a TypBłąd .

Indeksowanie ciągów w Pythonie

Indeksowanie składni Pythona String

Pozytywne indeksowanie ciągów Pythona

W tym przykładzie zdefiniujemy ciąg znaków w programowaniu w języku Python i uzyskamy dostęp do jego znaków za pomocą dodatniego indeksowania. Element 0 będzie pierwszym znakiem ciągu.

Pyton
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>

Wyjście:

Initial String: GeeksForGeeks First character of String is: G>

Indeksowanie ujemne ciągu Pythona

W tym przykładzie dostęp do jego znaków uzyskamy za pomocą indeksowania ujemnego. Element -3 jest trzecim od końca znakiem ciągu.

Pyton
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>

Wyjście

Initial String: GeeksForGeeks Last character of String is: e>

Python do krojenia ciągów

W samouczkach programowania w Pythonie Przecięcie sznurka Metoda służy do uzyskiwania dostępu do zakresu znaków w ciągu. Krojenie ciągu odbywa się za pomocą operatora krojenia, tj. dwukropka (:). Korzystając z tej metody, należy pamiętać, że ciąg znaków zwrócony po pocięciu zawiera znak na początku indeksu, ale nie na ostatnim indeksie.

W tym przykładzie użyjemy metody wycinania ciągów, aby wyodrębnić podciąg oryginalnego ciągu. Wartość [3:12] wskazuje, że cięcie łańcucha rozpocznie się od 3. indeksu ciągu do 12. indeksu (12. znak nie wliczając). Indeksowanie ujemne możemy również zastosować przy dzieleniu ciągów znaków.

Pyton
# Creating a String String1 = 'GeeksForGeeks' print('Initial String: ') print(String1) # Printing 3rd to 12th character print('
Slicing characters from 3-12: ') print(String1[3:12]) # Printing characters between # 3rd and 2nd last character print('
Slicing characters between ' + '3rd and 2nd last character: ') print(String1[3:-2])>

Wyjście:

Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>

Odwrócony ciąg Pythona

W samouczkach programowania w Pythonie, uzyskując dostęp do znaków z ciągu, możemy również odwrotne ciągi znaków w Pythonie Programowanie. Możemy odwrócić ciąg znaków, stosując metodę krojenia ciągów.

W tym przykładzie odwrócimy ciąg znaków, uzyskując dostęp do indeksu. Nie określiliśmy dwóch pierwszych części wycinka, wskazując, że rozważamy cały ciąg, od indeksu początkowego do indeksu ostatniego.

Pyton
#Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>

Wyjście:

skeegrofskeeg>

Funkcja odwrotna BuildIn w Pythonie

Możemy również odwrócić ciąg znaków, używając funkcji wbudowanej dołączyć I wywrócony funkcje i przekazanie ciągu znaków jako parametru funkcji Reversed().

Pyton
# Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>

Wyjście:

skeegrofskeeg>

Usuwanie/aktualizowanie ciągu

W Pythonie aktualizacja lub usuwanie znaków z ciągu nie jest dozwolone. Spowoduje to błąd, ponieważ przypisywanie elementów lub usuwanie elementów z ciągu nie jest obsługiwane. Chociaż usunięcie całego ciągu jest możliwe przy użyciu wbudowanego słowa kluczowego del. Dzieje się tak, ponieważ ciągi znaków są niezmienne, dlatego też elementów ciągu nie można zmienić po przypisaniu. Do tej samej nazwy można ponownie przypisać tylko nowe ciągi znaków.

Aktualizowanie postaci

Znak ciągu można zaktualizować w Pythonie, najpierw konwertując ciąg na znak Lista Pythona a następnie aktualizowanie elementu na liście. Ponieważ listy mają charakter zmienny, możemy zaktualizować znak, a następnie przekonwertować listę z powrotem na ciąg znaków.

Inną metodą jest metoda cięcia sznurka. Przetnij ciąg znaków przed znakiem, który chcesz zaktualizować, następnie dodaj nowy znak i na koniec ponownie dodaj drugą część ciągu, dzieląc ciąg.

Przykład:

W tym przykładzie do aktualizacji znaku używamy zarówno metody list, jak i metody dzielenia ciągów znaków. Przekonwertowaliśmy String1 na listę, zmieniliśmy jego wartość w konkretnym elemencie, a następnie przekonwertowaliśmy go z powrotem na ciąg za pomocą Pythona łączenie ciągów() metoda.

W metodzie dzielenia ciągu znaków pocięliśmy ciąg znaków do znaku, który chcemy zaktualizować, połączyliśmy nowy znak i na koniec połączyliśmy pozostałą część ciągu.

Pyton
# Python Program to Update # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a character of the String ## As python strings are immutable, they don't support item updation directly ### there are following two ways #1 list1 = list(String1) list1[2] = 'p' String2 = ''.join(list1) print('
Updating character at 2nd Index: ') print(String2) #2 String3 = String1[0:2] + 'p' + String1[3:] print(String3)>

Wyjście:

Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>

Aktualizowanie całego ciągu

W programowaniu w Pythonie, ponieważ ciągi znaków w Pythonie są z natury niezmienne, nie możemy zaktualizować istniejącego ciągu. Całkowicie nową wartość możemy przypisać jedynie zmiennej o tej samej nazwie.

Przykład: W tym przykładzie najpierw przypisujemy wartość do „String1”, a następnie aktualizujemy ją, przypisując mu zupełnie inną wartość. Po prostu zmieniliśmy jego odniesienie.

Pyton
# Python Program to Update # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a String String1 = 'Welcome to the Geek World' print('
Updated String: ') print(String1)>

Wyjście:

Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>

Usuwanie postaci

Ciągi znaków w Pythonie są niezmienne, co oznacza, że ​​nie możemy usunąć z nich żadnego znaku. Kiedy próbujemy usunąć znak za pomocą z słowo kluczowe, spowoduje to wygenerowanie błędu.

jak sprawdzić zablokowane numery na Androidzie
Pyton
# Python Program to delete # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) print('Deleting character at 2nd Index: ') del String1[2] print(String1)>

Wyjście:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Traceback (most recent call last): File 'e:GFGPython codesCodesdemo.py', line 9, in del String1[2] TypeError: 'str' object doesn't support item deletion>

Ale za pomocą krojenia możemy usunąć znak z oryginalnego ciągu i zapisać wynik w nowym ciągu.

Przykład: W tym przykładzie najpierw podzielimy ciąg znaków na znak, który chcemy usunąć, a następnie połączymy pozostały ciąg znaków obok usuniętego znaku.

Pyton
# Python Program to Delete # characters from a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a character # of the String String2 = String1[0:2] + String1[3:] print('
Deleting character at 2nd Index: ') print(String2)>

Wyjście:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>

Usuwanie całego ciągu

W programowaniu w Pythonie możliwe jest usunięcie całego ciągu znaków za pomocą słowa kluczowego del. Co więcej, jeśli spróbujemy wydrukować ciąg, spowoduje to błąd, ponieważ ciąg zostanie usunięty i nie można go wydrukować.

Pyton
# Python Program to Delete # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a String # with the use of del del String1 print('
Deleting entire String: ') print(String1)>

Błąd:

Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>

Sekwencjonowanie ucieczki w Pythonie

Podczas drukowania ciągów znaków zawierających pojedyncze i podwójne cudzysłowy powoduje to Błąd składni ponieważ String zawiera już cudzysłowy pojedyncze i podwójne i dlatego nie można go wydrukować przy użyciu żadnego z nich. Dlatego też, aby wydrukować taki ciąg znaków, stosuje się potrójne cudzysłowy lub sekwencje ucieczki do drukowania ciągów znaków.

Sekwencje ucieczki rozpoczynają się od ukośnika odwrotnego i można je różnie interpretować. Jeśli do przedstawienia ciągu znaków używane są pojedyncze cudzysłowy, wszystkie pojedyncze cudzysłowy znajdujące się w ciągu muszą zostać zmienione i to samo dotyczy podwójnych cudzysłowów.

Pyton
# Initial String String1 = '''I'm a 'Geek'''' print('Initial String with use of Triple Quotes: ') print(String1) # Escaping Single Quote String1 = 'I'm a 'Geek'' print('
Escaping Single Quote: ') print(String1) # Escaping Double Quotes String1 = 'I'm a 'Geek'' print('
Escaping Double Quotes: ') print(String1) # Printing Paths with the # use of Escape Sequences String1 = 'C:PythonGeeks' print('
Escaping Backslashes: ') print(String1) # Printing Paths with the # use of Tab String1 = 'Hi	Geeks' print('
Tab: ') print(String1) # Printing Paths with the # use of New Line String1 = 'Python
Geeks' print('
New Line: ') print(String1)>

Wyjście:

Initial String with use of Triple Quotes: I'm a 'Geek' Escaping Single Quote: I'm a 'Geek' Escaping Double Quotes: I'm a 'Geek' Escaping Backslashes: C:PythonGeeks Tab: Hi Geeks New Line: Python Geeks>

Przykład:

Aby zignorować sekwencje specjalne w ciągu znaków, R Lub R jest używany, oznacza to, że ciąg jest surowym ciągiem znaków i znajdujące się w nim sekwencje specjalne należy ignorować.

Pyton
# Printing hello in octal String1 = '110145154154157' print('
Printing in Octal with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is 110145154154157' print('
Printing Raw String in Octal Format: ') print(String1) # Printing Geeks in HEX String1 = 'This is x47x65x65x6bx73 in x48x45x58' print('
Printing in HEX with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is x47x65x65x6bx73 in x48x45x58' print('
Printing Raw String in HEX Format: ') print(String1)>

Wyjście:

Printing in Octal with the use of Escape Sequences: Hello Printing Raw String in Octal Format: This is 110145154154157 Printing in HEX with the use of Escape Sequences: This is Geeks in HEX Printing Raw String in HEX Format: This is x47x65x65x6bx73 in x48x45x58>

Formatowanie ciągu w Pythonie

Stringi w Pythonie lub typ danych string w Pythonie można formatować za pomocą format() metoda, która jest bardzo wszechstronnym i potężnym narzędziem do formatowania ciągów. Metoda formatu w String zawiera nawiasy klamrowe {} jako symbole zastępcze, które mogą przechowywać argumenty zgodnie z pozycją lub słowem kluczowym w celu określenia kolejności.

Przykład 1: W tym przykładzie zadeklarujemy ciąg znaków zawierający nawiasy klamrowe {}, które pełnią rolę symboli zastępczych, i podamy im wartości, aby zobaczyć, jakie znaczenie ma pozycja deklaracji ciągu.

Pyton
# Python Program for # Formatting of Strings # Default order String1 = '{} {} {}'.format('Geeks', 'For', 'Life') print('Print String in default order: ') print(String1) # Positional Formatting String1 = '{1} {0} {2}'.format('Geeks', 'For', 'Life') print('
Print String in Positional order: ') print(String1) # Keyword Formatting String1 = '{l} {f} {g}'.format(g='Geeks', f='For', l='Life') print('
Print String in order of Keywords: ') print(String1)>

Wyjście:

Print String in default order: Geeks For Life Print String in Positional order: For Geeks Life Print String in order of Keywords: Life For Geeks>

Przykład 2: Liczby całkowite, takie jak binarne, szesnastkowe itp., oraz liczby zmiennoprzecinkowe można zaokrąglać lub wyświetlać w postaci wykładnika za pomocą specyfikatorów formatu.

Pyton
# Formatting of Integers String1 = '{0:b}'.format(16) print('
Binary representation of 16 is ') print(String1) # Formatting of Floats String1 = '{0:e}'.format(165.6458) print('
Exponent representation of 165.6458 is ') print(String1) # Rounding off Integers String1 = '{0:.2f}'.format(1/6) print('
one-sixth is : ') print(String1)>

Wyjście:

Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>

Przykład 3: W przypadku typu danych String w Pythonie ciąg znaków może być wyrównany do lewej, prawej lub do środka przy użyciu specyfikatorów formatu i oddzielony dwukropkiem (:). Znak () wskazuje, że ciąg powinien być wyrównany do prawej strony, a (^) oznacza, że ​​ciąg powinien być wyrównany do środka. Możemy również określić długość, w jakiej ma być wyrównana. Na przykład (<10) oznacza, że ​​ciąg znaków powinien być wyrównany do lewej strony w polu o szerokości 10 znaków.

Pyton
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Wyrównanie do lewej, do środka i do prawej za pomocą formatowania: ') print(String1) # Aby zademonstrować wyrównywanie spacji String1 = '
{0:^16} zostało założone w {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Wyjście:

Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>

Przykład 4: Formatowanie w starym stylu zostało wykonane bez użycia metody format za pomocą the % operator

Pyton
# Python Program for # Old Style Formatting # of Integers Integer1 = 12.3456789 print('Formatting in 3.2f format: ') print('The value of Integer1 is %3.2f' % Integer1) print('
Formatting in 3.4f format: ') print('The value of Integer1 is %3.4f' % Integer1)>

Wyjście:

Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>

Podobne lektury – Metody ciągów

Przydatne operacje na ciągach Pythona

Stałe ciągu Pythona

Wbudowana funkcja

Opis

string.ascii_lettery

Połączenie stałych ascii_lowercase i ascii_uppercase.

string.ascii_lowercase

Łączenie małych liter

string.ascii_uppercase

Łączenie wielkich liter

ciąg.cyfr

Cyfra w ciągach

ciąg.hexcyfry

Sześciocyfrowe w ciągach

ciąg.litery

łączenie ciągów małych i wielkich liter

ciąg.małe litery

Ciąg musi zawierać małe litery.

ciąg.ósemkowycyfry

Ośmiocyfrowa w ciągu

ciąg.interpunkcja

Znaki ASCII zawierające znaki interpunkcyjne.

ciąg.do druku

Ciąg znaków, który można wydrukować

String.endswith()

Zwraca True, jeśli ciąg znaków kończy się podanym sufiksem, w przeciwnym razie zwraca False

String.startswith()

Zwraca wartość True, jeśli ciąg znaków zaczyna się od podanego przedrostka, w przeciwnym razie zwraca wartość False

String.isdigit()

Zwraca wartość True, jeśli wszystkie znaki w ciągu są cyframi. W przeciwnym razie zwraca wartość False.

String.isalpha()

Zwraca wartość True, jeśli wszystkie znaki w ciągu są alfabetami. W przeciwnym razie zwraca wartość False.

string.isdecimal()

Zwraca wartość true, jeśli wszystkie znaki w ciągu są liczbami dziesiętnymi.

str.format()

jedna z metod formatowania ciągów w Pythonie3, która umożliwia wielokrotne podstawienia i formatowanie wartości.

Indeks ciągów

Zwraca pozycję pierwszego wystąpienia podłańcucha w ciągu

ciąg.wielkie litery

Ciąg musi zawierać wielkie litery.

ciąg.biała spacja

Ciąg zawierający wszystkie znaki uważane za białe znaki.

string.swapcase()

Metoda konwertuje wszystkie wielkie litery na małe i odwrotnie danego ciągu znaków i zwraca je

zastępować()

zwraca kopię ciągu, w którym wszystkie wystąpienia podciągu są zastępowane innym podciągiem.

Przestarzałe funkcje łańcuchowe

Wbudowana funkcja

Opis

string.Isdecimal

Zwraca wartość true, jeśli wszystkie znaki w ciągu są liczbami dziesiętnymi

String.Isalnum

Zwraca wartość true, jeśli wszystkie znaki w danym ciągu są alfanumeryczne.

ciąg.Itytuł

Zwraca True, jeśli ciąg znaków jest ciągiem umieszczonym w tytule

String.partycja

dzieli ciąg znaków przy pierwszym wystąpieniu separatora i zwraca krotkę.

String.Identifier

Sprawdź, czy ciąg znaków jest prawidłowym identyfikatorem, czy nie.

String.len

Zwraca długość ciągu.

String.rindex

Zwraca najwyższy indeks podciągu w ciągu, jeśli zostanie znaleziony podciąg.

Ciąg.Maks

Zwraca najwyższy znak alfabetyczny w ciągu.

Ciąg.min

Zwraca minimalny znak alfabetyczny w ciągu.

gimp zastępuje kolor
Linie podziału łańcucha

Zwraca listę linii w ciągu.

string.capitalize

Zwróć słowo, którego pierwszy znak będzie pisany wielką literą.

string.expandtabs

Rozwiń tabulatory w ciągu, zastępując je jedną lub większą liczbą spacji

ciąg.znajdź

Zwróć najniższy indeksujący ciąg podrzędny.

ciąg.rfind

znajdź najwyższy indeks.

ciąg.liczba

Zwraca liczbę (nienakładających się) wystąpień podciągu podciągu w ciągu

ciąg.niższy

Zwróć kopię s, ale z wielkimi literami i literami zamienionymi na małe.

ciąg.rozdzielony

Zwraca listę słów ciągu, jeśli opcjonalny drugi argument sep jest nieobecny lub brak

Dokumenty Pythona
  • Permutacja danego ciągu przy użyciu wbudowanej funkcji
  • Znajdź częstotliwość każdego słowa w ciągu w Pythonie
  • Program akceptowający ciągi zawierające wszystkie samogłoski
  • Policz liczbę pasujących znaków w parze ciągu
  • Policz wszystkie przedrostki w danym ciągu z największą częstotliwością
  • Program sprawdzający, czy ciąg znaków zawiera jakiś znak specjalny
  • Generowanie losowych ciągów znaków do momentu wygenerowania danego ciągu
  • Program w Pythonie do liczenia wielkich i małych liter bez korzystania z wbudowanych funkcji