logo

Python sąrašai

Python sąrašai yra kaip dinaminio dydžio masyvai, deklaruojami kitomis kalbomis (vektorius C++ ir ArrayList Java). Paprasta kalba sąrašas yra dalykų rinkinys, įtrauktas į [ ] ir atskirtas kableliais.

tojson java

Sąrašas yra sekos duomenų tipas, naudojamas duomenų rinkiniui saugoti. Kortelės ir Styga yra kitų tipų sekos duomenų tipai.

Python sąrašo pavyzdys

Čia mes kuriame Python Sąrašas naudojant [].



Python
Var = ['Geeks', 'for', 'Geeks'] print(Var)>

Išvestis:

['Geeks', 'for', 'Geeks']>

Sąrašai yra paprasčiausi konteineriai, kurie yra neatsiejama Python kalbos dalis. Sąrašai nebūtinai visada turi būti vienarūšiai, todėl tai yra galingiausia priemonė Python . Viename sąraše gali būti duomenų tipų, tokių kaip sveikieji skaičiai, eilutės ir objektai. Sąrašai yra kintami, todėl juos galima keisti net sukūrus.

Sąrašo kūrimas Python

Python sąrašus galima sukurti tiesiog įdėjus seką laužtiniuose skliaustuose []. Skirtingai nei Rinkiniai , sąrašui nereikia integruotos funkcijos sąrašui sukurti.

Pastaba: Skirtingai nei rinkiniuose, sąraše gali būti keičiamų elementų.

1 pavyzdys: Sąrašo kūrimas Python

Python
# Python program to demonstrate # Creation of List # Creating a List List = [] print('Blank List: ') print(List) # Creating a List of numbers List = [10, 20, 14] print('
List of numbers: ') print(List) # Creating a List of strings and accessing # using index List = ['Geeks', 'For', 'Geeks'] print('
List Items: ') print(List[0]) print(List[2])>

Išvestis
Blank List: [] List of numbers: [10, 20, 14] List Items: Geeks Geeks>

Sąrašų kūrimo sudėtingumas

Laiko sudėtingumas: O(1)

Erdvės sudėtingumas: O(n)

2 pavyzdys: Sąrašo su keliais skirtingais arba pasikartojančiais elementais kūrimas

Sąraše gali būti pasikartojančių reikšmių su skirtingomis pozicijomis, taigi kelios skirtingos arba pasikartojančios reikšmės gali būti perduodamos kaip seka sąrašo kūrimo metu.

Python
# Creating a List with # the use of Numbers # (Having duplicate values) List = [1, 2, 4, 4, 3, 3, 3, 6, 5] print('
List with the use of Numbers: ') print(List) # Creating a List with # mixed type of values # (Having numbers and strings) List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] print('
List with the use of Mixed Values: ') print(List)>

Išvestis
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']>

Prieiga prie elementų iš sąrašo

Norėdami pasiekti sąrašo elementus, žr. indekso numerį. Norėdami pasiekti sąrašo elementą, naudokite indekso operatorių [ ]. Indeksas turi būti sveikasis skaičius. Įdėtieji sąrašai pasiekiami naudojant įdėtąjį indeksavimą.

1 pavyzdys: prieiga prie elementų iš sąrašo

Python
# Python program to demonstrate # accessing of element from list # Creating a List with # the use of multiple values List = ['Geeks', 'For', 'Geeks'] # accessing a element from the # list using index number print('Accessing a element from the list') print(List[0]) print(List[2])>

Išvestis
Accessing a element from the list Geeks Geeks>

2 pavyzdys: prieiga prie elementų iš daugiamačio sąrašo

Python
# Creating a Multi-Dimensional List # (By Nesting a list inside a List) List = [['Geeks', 'For'], ['Geeks']] # accessing an element from the # Multi-Dimensional List using # index number print('Accessing a element from a Multi-Dimensional list') print(List[0][1]) print(List[1][0])>

Išvestis
Accessing a element from a Multi-Dimensional list For Geeks>

Neigiamas indeksavimas

Python neigiamos sekos indeksai žymi pozicijas nuo sąrašo pabaigos. Užuot skaičiuojant poslinkį, kaip nurodyta Sąrašas[len(Sąrašas)-3], užtenka tiesiog parašyti Sąrašas[-3]. Neigiamas indeksavimas reiškia pradedant nuo pabaigos, -1 reiškia paskutinį elementą, -2 reiškia antrąjį paskutinį elementą ir tt.

Python
List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] # accessing an element using # negative indexing print('Accessing element using negative indexing') # print the last element of list print(List[-1]) # print the third last element of list print(List[-3])>

Išvestis
Accessing element using negative indexing Geeks For>

Sąrašo elementų prieigos sudėtingumas:

Laiko sudėtingumas: O(1)

Erdvės sudėtingumas: O(1)

Python sąrašo dydžio gavimas

Python tik() naudojamas norint gauti sąrašo ilgį.

Python
# Creating a List List1 = [] print(len(List1)) # Creating a List of numbers List2 = [10, 20, 14] print(len(List2))>

Išvestis
0 3>

Python sąrašo įvestis

Elementų sąrašo įvestį galime laikyti eilute, sveikuoju skaičiumi, plūduriuojančiu skaičiumi ir pan. Tačiau numatytasis elementas yra eilutė.

1 pavyzdys:

Python
# Python program to take space # separated input as a string # split and store it to a list # and print the string list # input the list as string string = input('Enter elements (Space-Separated): ') # split the strings and store it to a list lst = string.split() print('The list is:', lst) # printing the list>

Išvestis:

Enter elements: GEEKS FOR GEEKS The list is: ['GEEKS', 'FOR', 'GEEKS']>

2 pavyzdys:

Python
# input size of the list n = int(input('Enter the size of list : ')) # store integers in a list using map, # split and strip functions lst = list(map(int, input('Enter the integer elements:').strip().split()))[:n] # printing the list print('The list is:', lst)>

Išvestis:

Enter the size of list : 4 Enter the integer elements: 6 3 9 10 The list is: [6, 3, 9, 10]>

Norėdami sužinoti daugiau, žr tai .

Elementų įtraukimas į Python sąrašą

1 būdas: naudojant append() metodą

Elementai gali būti įtraukti į sąrašą naudojant integruotą pridėti () funkcija. Vienu metu į sąrašą galima įtraukti tik vieną elementą naudojant append() metodą, o pridedant kelis elementus naudojant append() metodą, naudojamos kilpos. Kortelės taip pat gali būti įtrauktos į sąrašą naudojant pridėjimo metodą, nes kortelės yra nekintančios. Skirtingai nuo rinkinių, sąrašai taip pat gali būti įtraukti į esamą sąrašą naudojant append() metodą.

Python
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [] print('Initial blank List: ') print(List) # Addition of Elements # in the List List.append(1) List.append(2) List.append(4) print('
List after Addition of Three elements: ') print(List) # Adding elements to the List # using Iterator for i in range(1, 4): List.append(i) print('
List after Addition of elements from 1-3: ') print(List) # Adding Tuples to the List List.append((5, 6)) print('
List after Addition of a Tuple: ') print(List) # Addition of List to a List List2 = ['For', 'Geeks'] List.append(List2) print('
List after Addition of a List: ') print(List)>

Išvestis
Initial blank List: [] List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]>

Elementų įtraukimo į sąrašą sudėtingumas (pridėjimo () metodas):

Laiko sudėtingumas: O(1)

S tempo sudėtingumas: O(1)

2 metodas: naudojant metodą insert().

append() metodas veikia tik pridedant elementus sąrašo pabaigoje, norint pridėti elementus norimoje vietoje, Įdėti() naudojamas metodas. Skirtingai nuo append(), kuris naudoja tik vieną argumentą, metodui insert() reikalingi du argumentai (pozicija, reikšmė).

Python
# Python program to demonstrate  # Addition of elements in a List # Creating a List List = [1,2,3,4] print('Initial List: ') print(List) # Addition of Element at  # specific Position # (using Insert Method) List.insert(3, 12) List.insert(0, 'Geeks') print('
List after performing Insert Operation: ') print(List)>

Išvestis
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]>

Elementų įtraukimo į sąrašą sudėtingumas (metodas insert()):

Laiko sudėtingumas: O(n)

Erdvės sudėtingumas: O(1)

3 metodas: Extend() metodo naudojimas

Be append() ir insert() metodų, yra dar vienas elementų pridėjimo būdas, pratęsti () , šis metodas naudojamas norint įtraukti kelis elementus vienu metu sąrašo pabaigoje.

Pastaba: pridėti () ir išplėsti () metodai gali pridėti elementų tik pabaigoje.

Python
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [1, 2, 3, 4] print('Initial List: ') print(List) # Addition of multiple elements # to the List at the end # (using Extend Method) List.extend([8, 'Geeks', 'Always']) print('
List after performing Extend Operation: ') print(List)>

Išvestis
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']>

Elementų įtraukimo į sąrašą sudėtingumas (metodas išplėsti ()):

Laiko sudėtingumas: O(n)

Erdvės sudėtingumas: O(1)

Sąrašo apvertimas

1 būdas: sąrašą galima apversti naudojant atvirkštinis () metodas Python .

Python
# Reversing a list mylist = [1, 2, 3, 4, 5, 'Geek', 'Python'] mylist.reverse() print(mylist)>

Išvestis
['Python', 'Geek', 5, 4, 3, 2, 1]>

2 būdas: naudokite atvirkščiai () funkcija:

Funkcija reverse() grąžina atvirkštinį iteratorių, kurį galima konvertuoti į sąrašą naudojant list() funkciją.

Python
my_list = [1, 2, 3, 4, 5] reversed_list = list(reversed(my_list)) print(reversed_list)>

Išvestis
[5, 4, 3, 2, 1]>

Elementų pašalinimas iš sąrašo

1 būdas: naudokite šalinimo () metodą

Elementus iš sąrašo galima pašalinti naudojant įmontuotą pašalinti () funkcija, bet jei elemento sąraše nėra, atsiranda klaida. Remove() metodas vienu metu pašalina tik vieną elementą, norint pašalinti elementų diapazoną, naudojamas iteratorius. Pašalinimo () metodas pašalina nurodytą elementą.

Pastaba: Pašalinimo metodas sąraše pašalins tik pirmąjį ieškomo elemento atvejį.

1 pavyzdys:

Python
# Python program to demonstrate # Removal of elements in a List # Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] print('Initial List: ') print(List) # Removing elements from List # using Remove() method List.remove(5) List.remove(6) print('
List after Removal of two elements: ') print(List)>

Išvestis
Initial List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] List after Removal of two elements: [1, 2, 3, 4, 7, 8, 9, 10, 11, 12]>

2 pavyzdys:

Python
# Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Removing elements from List # using iterator method for i in range(1, 5): List.remove(i) print('
List after Removing a range of elements: ') print(List)>

Išvestis
List after Removing a range of elements: [5, 6, 7, 8, 9, 10, 11, 12]>

Sąrašų elementų ištrynimo sudėtingumas (metodas pašalinti ()):

Laiko sudėtingumas: O(n)

Erdvės sudėtingumas: O(1)

2 būdas: naudojant pop() metodą

pop() funkcija taip pat gali būti naudojamas elementui pašalinti ir grąžinti iš sąrašo, tačiau pagal numatytuosius nustatymus jis pašalina tik paskutinį sąrašo elementą, norint pašalinti elementą iš konkrečios sąrašo pozicijos, elemento indeksas perduodamas kaip argumentas pop() metodas.

Python
List = [1, 2, 3, 4, 5] # Removing element from the # Set using the pop() method List.pop() print('
List after popping an element: ') print(List) # Removing element at a # specific location from the # Set using the pop() method List.pop(2) print('
List after popping a specific element: ') print(List)>

Išvestis
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]>

Sąrašų elementų ištrynimo sudėtingumas (pop() metodas):

Laiko sudėtingumas: O(1)/O(n) (O(1) – paskutiniam elementui pašalinti, O(n) – pirmajam ir viduriniam elementui pašalinti)

Erdvės sudėtingumas: O(1)

Sąrašo pjaustymas

Naudodami skiltį galime gauti eilutes ir posąraščius. Python sąraše yra keli būdai spausdinti visą sąrašą su visais elementais, tačiau norėdami išspausdinti tam tikrą elementų diapazoną iš sąrašo, naudojame Pjaustymo operacija .

Pjūvio operacija atliekama sąrašuose naudojant dvitaškį (:).

Norėdami spausdinti elementus nuo pradžios iki diapazono, naudokite:

[: Indeksas]

Norėdami spausdinti galutinio naudojimo elementus:

[:-Indeksas]

Spausdinti elementus iš konkretaus indekso iki galutinio naudojimo

[Indeksas:]

Norėdami spausdinti visą sąrašą atvirkštine tvarka, naudokite

[::-1]

Pastaba - Norėdami spausdinti sąrašo elementus iš galo, naudokite neigiamus indeksus.

python-list-slicing

SĄRAŠŲ DARYMO SUPRATIMAS:

  • pr[0] pasiekia pirmąjį elementą, 2.
  • pr[-4] pasiekia ketvirtą elementą nuo galo, 5.
  • pr[2:] pasiekia [5, 7, 11, 13], elementų sąrašą nuo trečio iki paskutinio.
  • pr[:4] pasiekia [2, 3, 5, 7], elementų sąrašą nuo pirmo iki ketvirto.
  • pr[2:4] pasiekia [5, 7], elementų sąrašą nuo trečio iki penkto.
  • pr[1::2] pasiekia [3, 7, 13], alternatyvius elementus, pradedant nuo antrojo elemento.
Python
# Python program to demonstrate # Removal of elements in a List # Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements of a range # using Slice operation Sliced_List = List[3:8] print('
Slicing elements in a range 3-8: ') print(Sliced_List) # Print elements from a # pre-defined point to end Sliced_List = List[5:] print('
Elements sliced from 5th ' 'element till the end: ') print(Sliced_List) # Printing elements from # beginning till end Sliced_List = List[:] print('
Printing all elements using slice operation: ') print(Sliced_List)>

Išvestis
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Slicing elements in a range 3-8: ['K', 'S', 'F', 'O', 'R'] Elements sliced from 5th element till the end: ['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Printing all elements using slice operation: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']>

Neigiamas indeksas Sąrašo pjaustymas

Python
# Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements from beginning # to a pre-defined point using Slice Sliced_List = List[:-6] print('
Elements sliced till 6th element from last: ') print(Sliced_List) # Print elements of a range # using negative index List slicing Sliced_List = List[-6:-1] print('
Elements sliced from index -6 to -1') print(Sliced_List) # Printing elements in reverse # using Slice operation Sliced_List = List[::-1] print('
Printing List in reverse: ') print(Sliced_List)>

Išvestis
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Elements sliced till 6th element from last: ['G', 'E', 'E', 'K', 'S', 'F', 'O'] Elements sliced from index -6 to -1 ['R', 'G', 'E', 'E', 'K'] Printing List in reverse: ['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']>

Sąrašo supratimas

Python sąrašo supratimas naudojami naujiems sąrašams kurti iš kitų kartotinių elementų, pvz., eilučių, eilučių, masyvų, sąrašų ir tt Sąrašo supratimas susideda iš skliaustų, kuriuose yra išraiška, kuri vykdoma kiekvienam elementui kartu su ciklu for, kad būtų kartojamas kiekvienas elementas.

Sintaksė:

newList = [ senojo sąrašo elemento išraiška (elementas), jei sąlyga ]

Pavyzdys:

Python
# Python program to demonstrate list # comprehension in Python # below list contains square of all # odd numbers from range 1 to 10 odd_square = [x ** 2 for x in range(1, 11) if x % 2 == 1] print(odd_square)>

Išvestis
[1, 9, 25, 49, 81]>

Kad būtų geriau suprasti, aukščiau pateiktas kodas yra panašus į taip:

Python
# for understanding, above generation is same as, odd_square = [] for x in range(1, 11): if x % 2 == 1: odd_square.append(x**2) print(odd_square)>

Išvestis
[1, 9, 25, 49, 81]>

Norėdami gauti išsamios informacijos apie sąrašo supratimą, žr. toliau pateiktus straipsnius.

Pagrindinis Python sąrašo pavyzdys

  • Python programa, skirta sukeisti pirmuosius ir paskutinius sąrašo elementus
  • Python programa, skirta sukeisti du elementus sąraše
  • Python – sukeisti elementus eilučių sąraše
  • Python | Būdai sužinoti sąrašo ilgį
  • Ne daugiau kaip du skaičiai Python
  • Mažiausiai du skaičiai Python

Norėdami praktikuoti pagrindines sąrašo operacijas, perskaitykite šį straipsnį – Python programų sąrašas

Metodų sąrašas

Funkcijaapibūdinimas
Pridėti () Pridėkite elementą sąrašo pabaigoje
Išplėsti () Pridėkite visus sąrašo elementus į kitą sąrašą
Įdėti() Įterpkite elementą į apibrėžtą indeksą
Pašalinti () Pašalina elementą iš sąrašo
Išvalyti () Pašalina visus elementus iš sąrašo
Indeksas() Grąžina pirmojo atitikusio elemento indeksą
Skaičiavimas () Grąžina elementų, pateiktų kaip argumentas, skaičių
Rūšiuoti () Rūšiuoti elementus sąraše didėjančia tvarka
Atvirkščiai () Apverskite elementų tvarką sąraše
kopija () Grąžina sąrašo kopiją
pop () Pašalina ir grąžina nurodyto indekso elementą. Jei indeksas nepateikiamas, jis pašalina ir grąžina paskutinį elementą.

Norėdami sužinoti daugiau, skaitykite šį straipsnį - Python sąrašo metodai

Aukščiau paminėtos operacijos pakeičia patį sąrašą.

Integruotos funkcijos su sąrašu

Funkcijaapibūdinimas
sumažinti () taikyti tam tikrą funkciją, perduotą jos argumente visiems sąrašo elementams, išsaugo tarpinį rezultatą ir grąžina tik galutinę sumavimo reikšmę
suma() Sumuoja sąraše esančius skaičius
žodis () Grąžina sveikąjį skaičių, nurodantį nurodyto Unicode simbolio Unicode kodo tašką
cmp () Ši funkcija grąžina 1, jei pirmasis sąrašas yra didesnis nei antrasis sąrašas
max () grąžinti maksimalų nurodyto sąrašo elementą
min() grąžina minimalų nurodyto sąrašo elementą
visi () Grąžina true, jei visi elementai yra teisingi arba jei sąrašas tuščias
bet koks () grąžinti true, jei kuris nors sąrašo elementas yra teisingas. jei sąrašas tuščias, grąžinkite false
tik() Grąžina sąrašo ilgį arba sąrašo dydį
išvardinti () Grąžina sąrašo objektą
kaupti() taikyti tam tikrą funkciją, perduotą jos argumente, visiems sąrašo elementams, grąžina sąrašą su tarpiniais rezultatais
filtras() patikrina, ar kiekvienas sąrašo elementas yra teisingas, ar ne
žemėlapis () grąžina rezultatų sąrašą pritaikius nurodytą funkciją kiekvienam nurodytos iteracijos elementui
lambda () Ši funkcija gali turėti bet kokį argumentų skaičių, bet tik vieną išraišką, kuri įvertinama ir grąžinama.

Peržiūrėkite naujausius straipsnius apie sąrašus

Naudingos nuorodos:

  • Naujausi straipsniai apie Python sąrašą
  • Python vadovėliai
  • Kelių pasirinkimų klausimai
  • Visi straipsniai Python kategorijoje