logo

Python eilutė

Eilutė yra Python programavimo duomenų struktūra, vaizduojanti simbolių seką. Tai yra nekintantis duomenų tipas, o tai reiškia, kad sukūrę eilutę negalite jos pakeisti. „Python String“ yra plačiai naudojama daugelyje skirtingų programų, pavyzdžiui, teksto duomenų saugojimui ir manipuliavimui, vardų, adresų ir kitų tipų duomenims, kurie gali būti pateikti kaip tekstas.

Turinys



Kas yra Python eilutė?

Python Programavimas neturi simbolių duomenų tipo, vienas simbolis yra tiesiog eilutė, kurios ilgis yra 1. Pažiūrėkime, Python eilutės sintaksė :

Eilučių duomenų tipo sintaksė Python

string_variable = 'Hello, world!'>

Python eilutės duomenų tipo pavyzdys

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

Išvestis:



A Computer Science portal for geeks>

Sukurkite eilutę „Python“.

Stygos Python gali būti sukurti naudojant viengubas arba dvigubas kabutes ar net tris kabutes. Pažiūrėkime, kaip galime apibrėžti eilutę Python arba kaip rašyti eilutę Python.

Pavyzdys:

Šiame pavyzdyje parodysime įvairius Python eilutės kūrimo būdus. Sukursime eilutę naudodami pavienes kabutes (‘‘), dvigubas kabutes ( ) ir trigubas dvigubas kabutes ( ). Trigubas kabutes galima naudoti norint deklaruoti kelių eilučių eilutes Python.



Atsisiųsti video iš youtube vlc
Python
# 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)>

Išvestis:

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>

Prieiga prie simbolių Python String

Python programavimo vadovėliuose atskirus eilutės simbolius galima pasiekti naudojant indeksavimo metodą. Indeksavimas leidžia neigiamoms adresų nuorodoms pasiekti simbolius iš eilutės galo, pvz. -1 reiškia paskutinį simbolį, -2 reiškia antrą paskutinį simbolį ir pan.

Pasiekus indeksą, esantį už diapazono, sukels Indekso klaida . Tik sveikieji skaičiai gali būti perduodami kaip indeksas, plaukiojantis ar kiti tipai, kurie sukels a Tipo klaida .

Python String indeksavimas

Python String sintaksės indeksavimas

Python eilutės teigiamas indeksavimas

Šiame pavyzdyje apibrėžsime eilutę „Python Programming“ ir pasieksime jos simbolius naudodami teigiamą indeksavimą. 0-as elementas bus pirmasis eilutės simbolis.

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

Išvestis:

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

Python String neigiamas indeksavimas

Šiame pavyzdyje jo simbolius pasieksime naudodami neigiamą indeksavimą. -3-asis elementas yra trečias paskutinis eilutės simbolis.

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

Išvestis

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

Eilučių pjaustymas Python

Python programavimo vadovėliuose, Styginių pjaustymas metodas naudojamas norint pasiekti eilutės simbolių diapazoną. Pjaustymas eilutėje atliekamas naudojant pjaustymo operatorių, t. y. dvitaškį (:). Naudojant šį metodą reikia atsiminti, kad eilutėje, grąžintoje po išpjovimo, yra simbolis pradžios indekse, bet ne paskutinis indeksas.

Šiame pavyzdyje naudosime eilutės pjaustymo metodą, kad ištrauktume pradinės eilutės eilutę. [3:12] rodo, kad eilutės pjaustymas prasidės nuo 3-ojo eilutės indekso iki 12-ojo indekso (12 simbolio neįskaitant). Taip pat galime naudoti neigiamą indeksavimą eilučių pjaustyme.

Python
# 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])>

Išvestis:

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

Python eilutė apversta

Python programavimo vadovėliuose taip pat galime pasiekti simbolius iš eilutės atvirkštinės eilutės Python Programavimas. Mes galime pakeisti eilutę naudodami eilutės pjaustymo metodą.

Šiame pavyzdyje eilutę pakeisime prieiga prie indekso. Mes nenurodėme pirmųjų dviejų pjūvio dalių, nurodydami, kad svarstome visą eilutę, nuo pradžios indekso iki paskutinio indekso.

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

Išvestis:

skeegrofskeeg>

BuildIn atvirkštinė funkcija Python

Taip pat galime pakeisti eilutę naudodami integruotą prisijungti ir atvirkščiai funkcijas ir eilutę kaip parametrą perduoti funkcijai reverse ().

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

Išvestis:

skeegrofskeeg>

Ištrynimas / atnaujinimas iš eilutės

„Python“ neleidžiama atnaujinti arba ištrinti simbolių iš eilutės. Tai sukels klaidą, nes elemento priskyrimas arba elemento ištrynimas iš eilutės nepalaikomas. Nors ištrinti visą eilutę galima naudojant įmontuotą del raktinį žodį. Taip yra todėl, kad eilutės yra nekintančios, todėl eilutės elementai negali būti keičiami, kai jie yra priskirti. Tam pačiam pavadinimui galima priskirti tik naujas eilutes.

Charakterio atnaujinimas

Eilutės simbolis gali būti atnaujintas Python, pirmiausia konvertuojant eilutę į a Python sąrašas ir tada atnaujinkite elementą sąraše. Kadangi sąrašai yra kintami, galime atnaujinti simbolį ir vėl konvertuoti sąrašą į eilutę.

Kitas metodas yra eilutės pjaustymo metodas. Supjaustykite eilutę prieš simbolį, kurį norite atnaujinti, tada pridėkite naują simbolį ir galiausiai dar kartą pridėkite kitą eilutės dalį, pjaustydami eilutę.

Pavyzdys:

Šiame pavyzdyje simboliui atnaujinti naudojame ir sąrašą, ir eilučių pjaustymo metodą. Konvertavome eilutę1 į sąrašą, pakeičiame jos vertę tam tikrame elemente, o tada konvertavome atgal į eilutę naudodami Python. string prisijungti () metodas.

Naudodami eilučių pjaustymo metodą, supjaustėme eilutę iki simbolio, kurį norime atnaujinti, sujungėme naują simbolį ir galiausiai sujungiame likusią eilutės dalį.

Python
# 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)>

Išvestis:

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

Atnaujinama visa eilutė

Python programavimo programoje, kadangi Python eilutės yra nekintamos, negalime atnaujinti esamos eilutės. To paties pavadinimo kintamajam galime priskirti tik visiškai naują reikšmę.

Pavyzdys: Šiame pavyzdyje pirmiausia priskiriame reikšmę „Eilutė1“, o tada ją atnaujinome priskirdami visiškai kitą reikšmę. Mes tiesiog pakeitėme jo nuorodą.

Python
# 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)>

Išvestis:

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

Personažo ištrynimas

Python eilutės yra nekintamos, tai reiškia, kad negalime iš jos ištrinti simbolio. Kai bandome ištrinti simbolį naudodami raktinį žodį, jis sugeneruos klaidą.

Python
# 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)>

Išvestis:

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>

Tačiau naudodami pjaustymą galime pašalinti simbolį iš pradinės eilutės ir išsaugoti rezultatą naujoje eilutėje.

Pavyzdys: Šiame pavyzdyje pirmiausia supjaustysime eilutę iki simbolio, kurį norime ištrinti, o tada sujungsime likusią eilutę iš ištrinto simbolio.

Python
# 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)>

Išvestis:

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

Ištrinama visa eilutė

Python programavimo programoje visą eilutę galima ištrinti naudojant raktinį žodį del. Be to, jei bandysime atspausdinti eilutę, tai sukels klaidą, nes eilutė bus ištrinta ir jos negalima spausdinti.

Python
# 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)>

Klaida:

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

Pabėgimo seka Python

Spausdinant eilutes su viengubomis ir dvigubomis kabutėmis sukelia Sintaksės klaida nes eilutėje jau yra viengubos ir dvigubos kabutės, todėl jos negalima spausdinti naudojant nė vieną iš jų. Taigi, norint spausdinti tokią eilutę, naudojamos arba trigubos kabutės, arba eilutės „Escape“ sekos.

Pabėgimo sekos prasideda pasviruoju brūkšniu ir gali būti interpretuojamos skirtingai. Jei eilutei atvaizduoti naudojamos pavienės kabutės, visos eilutėje esančios pavienės kabutės turi būti pašalintos ir tas pats daroma su dvigubomis kabutėmis.

Python
# 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)>

Išvestis:

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>

Pavyzdys:

Norėdami nepaisyti pabėgimo sekų eilutėje, r arba R yra naudojamas, tai reiškia, kad eilutė yra neapdorota eilutė ir joje esančios pabėgimo sekos turi būti ignoruojamos.

Python
# 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)>

Išvestis:

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>

Python eilutės formatavimas

Python eilutės arba Python eilutės duomenų tipai gali būti suformatuoti naudojant formatas () metodas, kuris yra labai universalus ir galingas stygų formatavimo įrankis. Formatavimo metodas eilutėje yra riestiniai skliaustai {} kaip vietos rezervavimo ženklai, kurie gali turėti argumentus pagal poziciją arba raktinį žodį, kad būtų nurodyta tvarka.

1 pavyzdys: Šiame pavyzdyje paskelbsime eilutę, kurioje yra riestiniai skliaustai {}, kurie veikia kaip rezervuotos vietos, ir pateiksime joms reikšmes, kad pamatytume, kokia svarbi eilutės deklaracijos padėtis.

Python
# 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)>

Išvestis:

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>

2 pavyzdys: Sveikieji skaičiai, pvz., dvejetainis, šešioliktainis ir kt., ir slankiosios reikšmės gali būti suapvalinti arba rodomi eksponento forma, naudojant formato specifikatorius.

Python
# 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)>

Išvestis:

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

3 pavyzdys: Python duomenų tipo eilutėje eilutė gali būti lygiuojama kairėje, dešinėje arba centre, naudojant formato specifikacijas, atskirta dvitaškiu (:). () nurodo, kad eilutė turi būti išlygiuota į dešinę, o (^) nurodo, kad eilutė turi būti išlygiuota į centrą. Taip pat galime nurodyti ilgį, kuriuo jis turi būti išlygintas. Pavyzdžiui, (<10) reiškia, kad eilutė turi būti išlygiuota į kairę 10 simbolių pločio lauke.

Python
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Lygiavimas kairėje, centre ir dešinėje su formatavimu: ') print(String1) # Norėdami parodyti tarpų lygiavimas String1 = '
{0:^16} buvo įkurta {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Išvestis:

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

4 pavyzdys: Senojo stiliaus formatavimas buvo atliktas nenaudojant formatavimo metodo naudojant į % operatorius

Python
# 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)>

Išvestis:

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

Panašūs skaitymai - Styginių metodai

Naudingos Python stygų operacijos

Python String konstantos

Integruota funkcija

apibūdinimas

rohit shetty aktorius
string.ascii_letters

Ascii_lowercase ir ascii_uppercase konstantų sujungimas.

string.ascii_lowercase

Mažųjų raidžių sujungimas

string.ascii_uppercase

Didžiųjų raidžių sujungimas

eilutė.skaitmenys

Skaitmenys eilutėse

eilutė.šešioliktainiai skaitmenys

Šešiaženklis eilutės

styga.raidės

mažųjų ir didžiųjų raidžių eilučių sujungimas

eilutė.mažosios raidės

Eilutėje turi būti mažosios raidės.

eilutė.oktskaitmenys

Aštuonženklis eilutėje

eilutė.skyrybos ženklai

ASCII simboliai su skyrybos ženklais.

eilutė.spausdinama

Simbolių eilutė, kurią galima spausdinti

formatuoti datą į eilutę
String.endswith()

Grąžina True, jei eilutė baigiasi nurodyta priesaga, kitu atveju grąžina False

String.startswith()

Grąžina True, jei eilutė prasideda nurodytu priešdėliu, kitu atveju grąžina False

String.isdigit()

Grąžina True, jei visi eilutės simboliai yra skaitmenys, kitu atveju grąžina False.

String.isalpha()

Grąžina True, jei visi eilutės simboliai yra abėcėlės, kitu atveju grąžina False.

string.isdecimal()

Grąžina tiesa, jei visi eilutės simboliai yra dešimtainiai.

str.format()

vienas iš Python3 eilučių formatavimo metodų, leidžiančių kelis pakaitalus ir reikšmių formatavimą.

String.index

Grąžina pirmosios eilutės poeilės pasireiškimo vietą

eilutė.didžiosios raidės

Eilutėje turi būti didžiosios raidės.

eilutė.tarpas

Eilutė, kurioje yra visi simboliai, kurie laikomi tarpais.

string.swapcase()

Metodas konvertuoja visus didžiąsias raides į mažąsias ir atvirkščiai duotai eilutei ir grąžina ją

pakeisti ()

grąžina eilutės kopiją, kurioje visi poeilutės atvejai pakeičiami kita eilute.

Nebenaudojamos eilučių funkcijos

Integruota funkcija

apibūdinimas

eilutė.Išdešimtainė

Grąžina tiesa, jei visi eilutės simboliai yra dešimtainiai

Styga.Isalnum

Grąžina tiesa, jei visi tam tikros eilutės simboliai yra raidiniai ir skaitiniai.

styga.Istitle

Grąžina True, jei eilutė yra pavadinimo didžiosiomis raidėmis pažymėta eilutė

String.partition

suskaido eilutę pirmą kartą pasirodžius skyrikliui ir grąžina eilutę.

Styga.Identifikatorius

Patikrinkite, ar eilutė yra tinkamas identifikatorius, ar ne.

Styga.len

Grąžina eilutės ilgį.

Styga.rindex

Grąžina didžiausią eilutėje esančios poeilutės indeksą, jei randama poeilutė.

Styga.Maks

Grąžina aukščiausią abėcėlės raidę eilutėje.

Styga.min

Grąžina minimalų abėcėlės ženklą eilutėje.

Styga.skeltos linijos

Grąžina eilutės eilučių sąrašą.

eilutę.rašyti didžiosiomis raidėmis

Grąžinkite žodį, kurio pirmasis simbolis rašomas didžiąja raide.

string.expandtabs

Išskleiskite skirtukus eilutėje, pakeisdami juos vienu ar daugiau tarpų

styga.rasti

Grąžina žemiausią indeksavimo antrinę eilutę.

string.rfind

rasti aukščiausią indeksą.

string.count

Grąžina (nepersidengusių) poeilutės antrinės dalies atvejų skaičių eilutėje

styga.žemesnis

Grąžinti s kopiją, bet su didžiosiomis raidėmis, paverstas mažosiomis raidėmis.

styga.skilimas

Grąžina eilutės žodžių sąrašą, jei pasirenkamas antrasis argumentas sep nėra arba Nėra

Python Docstrings
  • Nurodytos eilutės permutacija naudojant įmontuotą funkciją
  • Raskite kiekvieno žodžio dažnį eilutėje Python
  • Programa, skirta priimti eilutes, kuriose yra visi balsiai
  • Suskaičiuokite atitinkančių simbolių skaičių eilutės poroje
  • Suskaičiuokite visus tam tikros eilutės priešdėlius didžiausiu dažniu
  • Programa, skirta patikrinti, ar eilutėje nėra specialaus simbolio
  • Atsitiktinių eilučių generavimas, kol sugeneruojama tam tikra eilutė
  • Python programa, skirta skaičiuoti didžiąsias ir mažąsias raides nenaudojant integruotų funkcijų