python list create
En aquest tutorial sobre la llista de Python, explorarem maneres de crear, accedir, tallar, afegir / eliminar elements a les llistes de Python que possiblement siguin un dels tipus de dades més útils:
Python inclou 4 tipus de dades de recopilació, tal com s'esmenta a continuació:
- Llista
- Conjunt
- Diccionari
- Tuple
En aquest tutorial, parlarem detalladament sobre la llista i les seves diverses operacions. A Python, la llista és una estructura de dades o és com una matriu que s’utilitza per emmagatzemar diverses dades alhora.
=> Exploreu aquí la sèrie d'entrenament de Python
Si teniu experiència en qualsevol altre llenguatge de programació com Java, C, C ++, etc., coneixereu el concepte de matrius. La llista és gairebé la mateixa que les matrius.
Què aprendreu:
- Què són les llistes de Python
- Més informació sobre les llistes de Python
- Conclusió
Què són les llistes de Python
A Python, una llista és un fitxer tipus de dades , que emmagatzema una col·lecció de diferents objectes (articles) dins d'un claudàtor (()). Cada element d'una llista està separat per una coma (,) amb el primer element a l'índex 0.
Nota :Avançant, tots els exemples d’aquest tutorial s’executaran directament des d’un intèrpret d’ordres Python, tret que s’indiqui el contrari.
A continuació es mostra un exemple de llista amb 5 elements.
>>> l = ('what','who','where','when','how') >>>l ('what','who','where','when','how')
A l'exemple anterior, podem veure que la llista té Objectes de corda com a elements i cada element està separat per una coma.
Característiques de la llista de Python
Abans d’examinar com podem manipular els elements d’una llista, vegem algunes de les característiques que afavoreixen les llistes de Python.
Les llistes de Python són seqüències de contenidors
A diferència de les seqüències planes ( corda , array.array , memòria vista , etc) que només pot contenir elements d’un tipus, una llista és un seqüència de contenidors que pot contenir elements d'un tipus i de diferents tipus.
Exemple amb elements d'un tipus
Obrim el nostre intèrpret d’ordres de Python i definim una llista de números.
>>> numbers = ('one','two','three','four','five') >>> numbers ('one','two','three','four','five')
A l'exemple anterior es mostra una llista d'elements del mateix tipus, en aquest cas de tipus cadena (str) .
Exemple amb elements de diferents tipus
Obrim el nostre intèrpret d’ordres de Python i definim una altra versió d’una llista de números.
>>> numbers = ('one',2,3,'four',5.0) >>> numbers ('one',2,3,'four',5.0)
L'exemple anterior mostra una llista d'elements de diferents tipus. Els tipus són corda , enter, i flotar .
// a sketch showing the list of items and their types as annotation
La llista Python també pot contenir tots els objectes com ara funcions , classes , mòduls , llistes , tuples, i molt més.
Obriu un editor i enganxeu el codi següent:
def test(): '''This is a function''' print('This is a test') if __name__ == '__main__': print(test) # return instance object of function 'test' instance = type(test) print(instance) # create a list of colors colors = ('red','blue','green') print(colors) # create a list holding all the various data types defined above, including boolean. my_list = (test, instance, colors, False) print(my_list)
Sortida
Les llistes de Python són seqüències ordenades
Una llista Python és una col·lecció ordenada d’objectes. La posició de cada element en una llista és molt important. De fet, dues llistes amb els mateixos ítems no són el mateix si l’ordre en què es posicionen els ítems no és el mateix.
>>> ('a','b','c','d') == ('a','c','b','d') False
Aquesta característica de la llista Python permet accedir als seus elements per índex i tall (més sobre això més endavant).
Les llistes de Python són seqüències mutables
Les llistes de Python es poden modificar. Però, què és un objecte mutable? És simplement un objecte que es pot modificar després de crear-lo. Exemples d'altres seqüències mutables són diccionari , array.array , collections.deque .
Per què mutable? Les seqüències com les llistes s’utilitzen per a operacions complexes, de manera que té sentit que s’hagin de poder fer canvi , créixer , encongir-se , actualització, etc. . Això només és possible amb la mutabilitat. La mutabilitat també ens permet modificar les llistes al lloc (més sobre això).
Verifiquem la mutabilitat d’una llista amb l’exemple següent.
Simplement obriu un editor i enganxeu el codi:
def veryfiy_mutability(): # create a list l = (9,0,4,3,5) print('Display before modifying') print('List: {}
Id: {}'.format(l,id(l))) # modify the list by replacing the item at # index 3 to the item -2. l(3) = -2 print('Display after modifying') print('List: {}
Id: {}'.format(l,id(l))) if __name__ == '__main__': veryfiy_mutability()
Sortida
A partir de la sortida anterior, observem que la llista abans i després de la modificació és diferent. Tanmateix, el Id el valor és el mateix. El Id aquí el valor representa l'adreça de l'objecte a la memòria, que s'obté amb Python id () .
Això ens indica que, tot i que el contingut de la llista ha canviat, continua sent el mateix objecte. Per tant, això satisfà la nostra definició: És simplement un objecte que es pot modificar després de crear-lo '
Nota :A l'exemple anterior, hem utilitzat la indexació (més sobre això) per modificar la llista.
Manipulació de llistes de Python
Amb les llistes de Python, el cel és el nostre límit. Hi ha infinitat de coses que podem fer amb llistes com ara afegint , suprimint , indexació , tallar , comprovant la pertinença , i molt més. A més, Python té funcions integrades que ajuden a fer que la manipulació de llistes sigui més emocionant.
En aquesta secció, veurem algunes operacions de llista que s’utilitzen habitualment.
Creació d’una llista
Per crear una llista, simplement poseu una sèrie d’elements o expressions entre claudàtors separats per comes.
(expression1, expression2,...,expresionN)
>>> l = (4,3,5,9+3,False) >>> l (4, 3, 5, 12, False)
A més, Python té un objecte integrat anomenat llista () que es pot utilitzar per crear llistes.
list( sequence )
>>> l = list() # create an empty list >>> l ()
Python llista () pot agrupar tipus de seqüències i convertir-los en llistes. Aquesta és la forma típica de convertir una tupla en una llista.
>>> t = (4,3,5) # tuple >>>l = list(t) # convert into list (4,3,5)
A l'exemple anterior, hem utilitzat el tipus de dades Tuple . És similar a una llista, però a diferència de les llistes, és immutable i els seus elements estan entre parèntesis.
Un altre mitjà pel qual podem crear una llista és mitjançant l’ús de comprensions de llista que té la sintaxi següent.
(expression for item in sequence)
>>> (i**2 for i in range(4)) (0, 1, 4, 9)
Val a dir que les llistes de Python es passen per referència. És a dir, assignar una llista proporcionarà la seva identitat de ubicació de memòria. L’error que fan molts principiants és crear llistes d’aquesta manera.
>>> l1 = l2 = (4,3) # wrong way to create separate list objects >>> l1 (4,3) >>> l2 (4,3)
Aquí, podríem pensar que hem creat dues llistes diferents, però realment acabem de crear-ne una. Demostrem-ho modificant una de les variables.
>>> l1(0) = 0 >>> l1 (0,3) >>> l2 (0,3)
Notem que modificar una variable canvia l’altra. Això es deu al fet que les variables l1 i l2 tenen la mateixa identitat d'ubicació de memòria, de manera que totes dues apunten al mateix objecte.
Afegir elements a una llista
Python té moltes maneres d'afegir elements a la seva llista. La forma més habitual és utilitzar el fitxer append () mètode. Les altres formes són utilitzant el fitxer extend () mètode. Indexació i tallar (més sobre aquests més endavant) és més probable que s'utilitzin per substituir els elements d'una llista.
# 1) Mitjançant el mètode append ()
Aquest mètode inclou un element únic i l'afegeix al final de la llista. No retorna una llista nova, sinó que només modifica la llista al seu lloc (gràcies a la seva mutabilitat).
>>>l = list() # create empty list >>> l () >>> l.append(4) # add an integer >>> l (4) >>> l.append((0,1)) # add a list >>> l (4, (0, 1)) >>> l.append(4 >> l (4, (0, 1), True) >>> l.append(x for x in range(3)) # add result of a tuple comprehension >>> l (4, (0, 1), True, )
Poques coses a destacar de l'exemple anterior:
- Els elements aquí poden ser expressions, tipus de dades, seqüències i molts més.
- El append () el mètode té una complexitat temporal de {0} 1. És a dir, és constant.
# 2) Mitjançant el mètode extend ()
Aquest mètode pren com a argument un iterable i afegeix tots els elements d’aquest al final de la llista. Aquest mètode s’utilitza sobretot quan volem afegir elements individuals d’una seqüència a una llista
Bàsicament, el extend () mètode itera sobre el seu argument i afegeix cada element a la llista. Igual que el mètode append (), no torna una llista nova, sinó que modifica la llista al seu lloc.
>>> l1 = (3,2,5) # create a list of items >>> l1 (3, 2, 5) >>> l2 = (0,0,-1) # create a second list of items >>> l2 (0, 0, -1) >>> str = 'hello' # create a string(iterable) >>> str 'hello' >>> l1.extend(l2) # append all items from l2 to l1 >>> l1 (3, 2, 5, 0, 0, -1) >>> l1.extend(str) # append all items from str to l1 >>> l1 (3, 2, 5, 0, 0, -1, 'h', 'e', 'l', 'l', 'o')
Poques coses a destacar de l'exemple anterior:
- Una cadena és iterable, de manera que el nostre extend () mètode iterarà sobre els seus caràcters.
- El extend () el mètode té una complexitat temporal de (0) K on K és la longitud del seu argument.
Accés a elements d’una llista
Indexació i tallar són els mitjans més comuns que s’utilitzen per accedir a les llistes. També podem accedir a elements d’una llista amb bucles com el per a bucle .
# 1) Indexació
Una llista Python utilitza el fitxer numeració basada en zero sistema. És a dir, tots els seus elements s’identifiquen de manera única mitjançant un número d’índex que comença de 0 a n-1 on n és la longitud de la llista.
Considereu la llista següent:
>>> colors = ('red','blue','green','yellow','black') # create list >>> colors ('red','blue','green','yellow','black') >>> len(colors) # get list length 5
La taula següent mostra els seus respectius índexs al numeració basada en zero d’una llista.
Article | xarxa | blau | verd | groc | negre |
---|---|---|---|---|---|
pop () | Per suprimir / eliminar l'element de l'últim d'una llista. | ||||
Índex | 0 | 1 | 2 | 3 | 4 |
A la taula anterior, veiem que el primer element ('vermell') es troba a la posició d'índex 0 i l'últim element ('negre') es troba a la posició d'índex 4 (n-1) on n = 5 (longitud de l'objecte) colors).
Com hem vist a la secció característica anterior, les llistes de Python són seqüències ordenades. Això ens permet utilitzar la indexació per accedir i manipular fàcilment el seu element.
Utilitzem la indexació per accedir a elements en índexs concrets de l’objecte de colors creat anteriorment.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0) # access item at index 0 'red' >>> colors(4) # access item at index 4 'black' >>> colors(9) # access item at index 9 Traceback (most recent call last): File '', line 1, in IndexError: list index out of range
Nota :L’última afirmació anterior intenta accedir a un element a la posició d’índex 9 des d’un objecte de llista de longitud 5. A la llista Python, accedir a un element en un índex que no existeix augmentarà la IndexError excepció.
Un concepte important d’indexació és que podem utilitzar la indexació negativa, és a dir, podem accedir als elements d’una llista de manera inversa començant per -1 per a l’últim element i acabant per -n per a l’últim element on n és la longitud de l’objecte de llista.
A la taula anterior, si fem servir indexacions negatives, es veurà com es mostra a continuació:
Article | xarxa | blau | verd | groc | negre |
---|---|---|---|---|---|
Índex | -5 | -4 | -3 | -2 | -1 |
Utilitzem la indexació negativa per accedir a alguns elements de l’objecte de color creat anteriorment.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(-1) # access item and index -1(first item counting backward) 'black' >>> colors(-3) # access item at index -3(third item counting backward) 'green' >>> colors(-5) # access item at index -5 (last item counting backward) 'red'
# 2) Làmines
A diferència de la indexació que només retorna un element, tallar d'altra banda, pot retornar una sèrie d'articles.
Té la sintaxi següent:
L(n:m)
Quan n és el número d'índex on s'inicia la secció (per defecte és 0), i m és el número d'índex exclusiu on acaba la secció (per defecte la longitud-1). Estan separats per dos punts (:)
Penseu en l'exemple següent que utilitza la segmentació per accedir a elements en índexs concrets de l'objecte de colors creats anteriorment.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0:2) # get first two items ('red', 'blue') >>> colors(1:4) # get items at index 1,2 and 3 ('blue', 'green', 'yellow') >>> colors(2:len(colors) # get items from index 2 to the last item ('green', 'yellow', 'black') >>> colors(3:4) # get one item at index 3. Same as colors(3) ('yellow') >>>
A la sintaxi L (n: m), per defecte n és 0 i m predetermina la longitud de la llista. Així, a exemples 1 i 3 a sobre, podríem ometre n i m com a colors (: 2) i colors (2:) respectivament. O (:) que en aquest cas retorna una còpia poc profunda de tot l'objecte de la llista.
També podem utilitzar números d’índex negatius mentre es reparteixen llistes. Normalment s’utilitza quan volem accedir a la llista de manera inversa.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(-3:-2) ('green') >>> colors(-2:) ('yellow', 'black')
A més, hi ha un tercer paràmetre que admet el tallat pas (s). Defineix quants elements cal avançar després de recuperar el primer element de la llista. Per defecte és 1.
L(n:m:s)
Utilitzant la nostra llista de colors definida anteriorment, fem servir el tercer paràmetre del segment per moure 2 passos.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors(0:3:2) ('red', 'green')
# 3) Ús de bucles
Els bucles s’utilitzen principalment per accedir als elements d’una llista per manipular-los. Per tant, en cas que vulguem operar amb els elements d’una llista, podem utilitzar el fitxer per a bucle per accedir als articles i passar-los per ser operats.
Per exemple, volem comptar el nombre de lletres per a cada element. Podem utilitzar el per a bucle per aconseguir-ho.
Obriu un editor i enganxeu el codi següent:
def count_letters(l): count = {} # define a dict to hold our count for i in l: # loop through the list count(i) = len(i) # for each item, compute its length and store it in the dict return count # return the count if __name__ == '__main__': colors = ('red', 'blue', 'green', 'yellow', 'black') print(count_letters(colors))
Sortida
Per finalitzar aquesta secció, vegem dues coses interessants que es poden fer tallant.
-
Feu una còpia superficial d’una llista
És la forma bàsica d 'utilitzar el fitxer copy () mètode de l'objecte llista o de la funció incorporada copiar.còpia . Tanmateix, això es pot aconseguir tallant.
>>> colors # original list ('red','blue','green','yellow','black') >>> colors_copy = colors(:) # make a shallow copy >>> colors_copy ('red', 'blue', 'green', 'yellow', 'black') >>> colors_copy(0) = 0 # modify item at index 0 by changing its value to 0 >>> colors_copy # the copied version now has 0 at index 0 (0, 'blue', 'green', 'yellow', 'black') >>> colors # the original version is unchanged ('red', 'blue', 'green', 'yellow', 'black') >>>
-
Invertiu una llista
La forma bàsica és utilitzar el fitxer al revés mètode de l'objecte llista o de la funció incorporada reversed () . Tanmateix, això es pot aconseguir tallant.
>>> colors # original list object ('red', 'blue', 'green', 'yellow', 'black') >>> colors(::-1) # returns a reversed shallow copy of the the original list ('black', 'yellow', 'green', 'blue', 'red') >>>
Eliminació d’elements d’una llista
Com podem afegir tants elements a una llista, també es poden eliminar d’una llista. Les tres maneres en què es poden eliminar els elements són:
# 1) Utilitzant la sentència del
Té la sintaxi següent:
del target_list
La llista de destinacions ( llista_diana ) pot ser la llista completa (en cas que vulgueu suprimir-la) o un element o elements d'una llista (en aquest cas utilitzeu indexació o segmentació).
Considereu l'exemple següent .
Per exemple, volem eliminar alguns elements de la llista de colors creada anteriorment.
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> del c_copy(0) # delete item at index 0 >>> c_copy ('blue', 'green', 'yellow', 'black') >>> del c_copy(0:2) # delete items at index 0 and 1(slicing) >>> c_copy ('yellow', 'black') >>> del c_copy(:) # delete all items in a list. Same as ‘c_copy.clear()’ () >>> del c_copy # delete the list object >>> c_copy # access object that doesn't exist Traceback (most recent call last): File '', line 1, in NameError: name 'c_copy' is not defined >>>
Nota :La sentència del se suprimeix al lloc és a dir , modificarà l'objecte de llista original en lloc de tornar un objecte de llista nou.
# 2) Ús de la llista.remove (x)
Elimina el primer element de la llista el valor del qual és igual a x . Provoca un ValueError si no hi ha cap element.
Aquest mètode s'utilitza principalment per eliminar elements d'una llista per nom, a diferència de la sentència del que utilitza la indexació i el tallat.
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # create shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy.remove('blue') # remove first item with name 'blue' >>> c_copy ('red', 'green', 'yellow', 'black') >>> c_copy.remove('blue') # try to remove item that doesn't exist Traceback (most recent call last): File '', line 1, in ValueError: list.remove(x): x not in list >>>
Nota :L'objecte de la llista remove () esborra el mètode al lloc és a dir , modificarà l'objecte de llista original en lloc de tornar un objecte de llista nou.
# 3) Ús de list.pop ((i))
Elimina i retorna l'element a la posició donada en un objecte de llista. Si no es proporciona cap i (índex), elimina i retorna l'últim element de la llista.
Nota :El claudàtor que hi ha al voltant de l'i anterior no significa una llista d'i, sinó que vol dir que és opcional.
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy.pop(3) # pop out the item at index 3 'yellow' >>> c_copy ('red', 'blue', 'green', 'black') >>> c_copy.pop() # pop out the last item in the list 'black' >>> c_copy ('red', 'blue', 'green') >>>
Nota: La llista. pop ((i)) esborra el mètode al lloc és a dir , modificarà l'objecte de llista original en lloc de tornar un objecte de llista nou. A més, retorna l'element eliminat de la llista
Substitució d'elements d'una llista
Substituir elements és bastant senzill. En una de les seccions anteriors, vam veure la indexació i el tallat. Es poden utilitzar per accedir i eliminar elements d’una llista.
# 1) Substitueix-lo mitjançant la indexació
L(index) = value
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy(0) = 'brown' # replace item at index 0 with 'brown' >>> c_copy ('brown', 'blue', 'green', 'yellow', 'black') >>>
# 2) Substitució per làmines
L(n:m) = value
Nota : Valor hauria de ser un iterable , o bé el TypeError es plantejarà una excepció.
>>> colors # original list ('red', 'blue', 'green', 'yellow', 'black') >>> c_copy = colors(:) # make a shallow copy to work on >>> c_copy(0:2) = ('brown') # replace items at index 0 and 1 with 'brown' >>> c_copy ('brown', 'green', 'yellow', 'black') >>> c_copy(1:3) = ('white','purple') # replace items at index 1 and 2 with 'white' and 'purple' >>> c_copy ('brown', 'white', 'purple', 'black') >>> c_copy(1:4) = ('white','purple') # replace items at index 1,2 and 3 with 'white' and 'purple'. Here we replace 3 items with 2 items >>> c_copy ('brown', 'white', 'purple') >>>
Preguntes freqüents
P # 1) Què és una llista de llistes a Python?
Resposta: Una llista de llistes a Python és una llista que conté llistes com a element.
Per exemple
(('a','b'),('c','d'))
També es pot anomenar a llista imbricada .
Q # 2) Com es declara una llista a Python?
Resposta: A Python, es pot declarar una llista de dues maneres. Ja sigui mitjançant la funció integrada llista () o mitjançant la notació de claudàtors (). llista () inclou un iterable i () inclou elements de qualsevol tipus separats per una coma.
(pytyon)>>> list('hello') # a string is iterable ('h', 'e', 'l', 'l', 'o') >>> (3,4,5,23) # numbers are separated by comma (3, 4, 5, 23) >>> (/python)
P # 3) Podeu posar una llista en una llista Python?
Resposta: Sí, podem posar una llista dins d’una llista. De fet, una llista és una seqüència de contenidors que inclou elements de qualsevol tipus de dades.
Q # 4) Què fa list () a Python?
Resposta: llista ( ) és una funció integrada a Python que crea un objecte de llista. Pren com a argument un iterable.
>>> list((3,2,4)) # The iterable object here is a tuple. (3, 2, 4) >>>
Q # 5) Una llista Python pot contenir diferents tipus?
Resposta: Una llista és una seqüència de contenidors que inclou elements de qualsevol tipus de dades ( llista , tupla , enter , flotar , cordes , Etc.)
Més informació sobre les llistes de Python
Què és l'estructura de dades?
Els ordinadors s’utilitzen per emmagatzemar un gran nombre de dades o per processar un gran nombre de dades amb gran velocitat i precisió. Per tant, és millor emmagatzemar dades de manera permanent per accedir-hi ràpidament.
Tot i que es produeix el processament de dades, s’hauria de fer en el menor temps possible sense perdre la precisió. Utilitzem l’estructura de dades per tractar les dades de manera organitzada i emmagatzemar dades a la memòria per al seu processament.
Com que Python és un llenguatge de programació interpretat i d’alt nivell, és molt important fer ús de l’estructura de dades de Python.
Què és la llista?
Una llista és una estructura de dades que s’utilitza per emmagatzemar diverses dades alhora.
Les dades emmagatzemades en una llista són homogènies i això, al seu torn, la converteix en la característica més potent de la llista a Python. També podem emmagatzemar diverses dades de diferents tipus de dades, com ara String, Enters i objectes, en una sola llista.
Les llistes es poden modificar a Python, de manera que les dades es poden modificar en qualsevol moment fins i tot després de la creació. Les llistes són molt potents per implementar piles i cues a Python.
Com s'ha comentat anteriorment, la llista emmagatzema les dades en una seqüència ordenada i s'accedeix a les dades emmagatzemades en una llista mitjançant el seu índex i, per a la llista, l'índex sempre començarà des de zero. Cada element té un lloc específic a la llista i s'accedeix a totes aquestes dades amb l'ajut d'un índex.
A la llista, podem emmagatzemar el mateix valor diverses vegades i cada informació es considerarà com un element únic i separat. Les llistes són les millors per emmagatzemar dades i repetir-les més endavant.
Creació d’una llista
Les dades d’una llista s’emmagatzemen amb separacions per comes i s’inclouen entre claudàtors (()). Els elements de la llista no han de ser del mateix tipus.
Syntax: List = (item1, item2, item3)
Exemple 1:
List = ( )
Exemple 2:
List = (2, 5, 6.7)
Exemple 3:
List = (2, 5, 6.7, ‘Hi’)
Exemple 4:
List = (‘Hi’, ‘Python’, ‘Hello’)
En els exemples anteriors, podem observar que hem emmagatzemat elements de diferents tipus de dades amb comes separats, 2 i 5 són de tipus enter, 6.7 és de tipus float i 'Hola' és de tipus String, tots aquests elements estan inclosos en un llista i això el converteix en una llista.
També podem declarar una llista buida. També podem declarar la llista dins d’una altra llista, i l’anomenem com a llista imbricada.
Exemple 5:
List = (‘Hi’, (2, 4, 5), (‘Hello’))
A l'exemple anterior, podeu observar que s'ha declarat una llista dins d'una altra llista.
Accés als valors de la llista
Hi ha diverses maneres a través de les quals podem accedir als elements presents a la llista a Python.
Amb l’ajut de l’índex, podem accedir als elements de la llista. L’índex comença a partir de 0 i l’índex sempre ha de ser un enter. Si fem servir un índex que no sigui enter com float, donarà lloc a TypeError.
Exemple 1:
List = (2, 5, 6.7, ‘Hi’) print(“List is:”, List)
Sortida:
La llista és: (2, 5, 6.7, 'Hola')
Sortida:
Unix troba la diferència entre dos fitxers
A l'exemple anterior, estem imprimint directament la llista mitjançant la funció d'impressió, no accedim a l'element individual de la llista.
Accedim a l'element individual de la llista.
Exemple: 2
List = (2, 5, 6.7, ‘Hi’) print(“Second element of the list is:”, List(1))
Sortida:
El segon element de la llista és: 5
Sortida:
A l'exemple anterior, podeu observar que estem imprimint el segon element de la llista que és 5, però podeu obtenir una pregunta sobre per què a la declaració d'impressió imprimim la llista (1)? Això es deu al fet que l'índex comença a zero, de manera que Llista (1) fa referència al segon element de la llista.
Exemple: 3
List = (2, 5, 6.7, ‘Hi’) print(“First element in the List is: ”, List(0)) print(“Last element in the List is: ”, List(3))
Sortida:
El primer element de la llista és: 2
L'últim element de la llista és: Hola
Sortida:
Exemple: 4
List = (‘Hi’, (2, 4, 5)) print(“First element of the list is: ”, List(0)(1)) print(“Elements present inside another list is: ”, List(1)(2))
Sortida:
El primer element de la llista és: i
Els elements presents dins d’una altra llista són: 5
Sortida:
Al programa anterior, si observeu atentament, podeu veure que accedim als elements de la llista imbricada.
Internament, les dades s’emmagatzemaran en un format matricial, tal com es mostra a continuació:
Hola
Febrer 4 5
Per tant, quan intentem accedir a la llista (0) (1), assenyalarà 1cfila i 2ndcolumna, de manera que les dades seran 'i'.
De la mateixa manera, quan intentem accedir a la llista (1) (2), assenyalarà 2ndfila i 3rdper tant, les dades seran 5.
Indexació negativa
També podem accedir a les dades mitjançant un índex negatiu. Un índex negatiu sempre començarà a partir de -1 i -1 es refereix a l'últim element i -2 es refereix a l'últim segon element, etc.
Exemple: 1
List = (2, 5, 7, 3) print(“Last element in the list is: ”, List(-1))
Sortida:
L'últim element de la llista és: 3
Sortida:
Exemple: 2
List = (2, 5, 7, 3) print(“Second element in the list is: ”, List(-3))
Sortida:
El segon element de la llista és: 5
Sortida:
Tallar la llista
Mitjançant l’operador de slice (:) podem accedir a una sèrie d’elements de la llista
Exemple: 1
List = (1, 2, 3, 4, 5, 6, 7) print(“Elements from 2nd to 5th is: ”, List(1:5)) print(“Elements beginning to 2rd is: ”, List(:-3)) print(“Elements 4th to end is: ”, List(3:)) print(“Elements from start to end is: “, List(:))
Sortida:
Els elements del 2n al 5è són: (2, 3, 4, 5)
Els elements que comencen al 2n són: (1, 2, 3, 4)
Els elements del 4t al final són: (4, 5, 6, 7)
Els elements del principi al final són: (1, 2, 3, 4, 5, 6, 7)
Sortida:
També podem accedir als elements presents a la llista mitjançant el bucle for.
Exemple: 2
List = (1, 2, 3, 4, 5, 6, 7) forele in List: print(ele)
Sortida:
1
2
3
4
5
6
7
Sortida:
Recordeu el format d'indexació següent:
H | ÉS | L | L | O | 5 | 7 | 9 | 4 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
-9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Com es va comentar anteriorment, la llista en python es pot modificar, cosa que significa que els elements es poden canviar fins i tot si es tracta d'un enter o una cadena o de qualsevol tipus de dades.
Podem actualitzar la llista mitjançant l’operador d’assignació.
Exemple: 3
List = (2, 4, 6, 9) #updating the first element List(0) = 7 print(“Updated list is: ”, List)
Sortida:
La llista actualitzada és: (7, 4, 6, 9)
Sortida:
A l'exemple anterior, actualitzem el primer element de la llista '2' amb un element nou '7'.
Exemple: 4
List = (2, 5, 1, 3, 6, 9, 7) #updating one or more elements of the list at once List(2:6) = (2, 4, 9, 0) print(“Updated List is: ”, List)
Sortida:
La llista actualitzada és: (2, 5, 2, 4, 9, 0, 7)
A l'exemple anterior, actualitzem la llista de dades a la llista.
Sortida:
Afegir elements a la llista
Hi ha diverses maneres en què podem afegir elements a la llista i Python té una funció integrada anomenada append ().
Mitjançant append (), només podem afegir un element a la llista, si voleu afegir diversos elements a la llista, hem de fer ús de per a bucle . La funció append () sempre afegeix l'element al final de la llista, la funció append () només adopta un argument.
Si voleu afegir elements en una posició específica, només heu d’utilitzar el mètode insert (). insert () adopta dos arguments, és a dir, posició i valor, posició es refereix a l’índex, on cal afegir els elements i valor es refereix a l’element que s’afegeix a la llista.
Hi ha un mètode més anomenat extend (), amb el qual podem afegir elements a la llista. El mètode extend () s’utilitza per afegir una llista d’elements a la llista. De manera similar al mètode append () i al mètode extend (), també afegirà elements al final de la llista.
Exemple: 1
List = (“Hello”, “Good Morning”) print(“List before appending values is: “, List) List.append(“Python”) List.append(“Hi”) print(“List after appending values is: ”, List)
Sortida:
La llista abans d’afegir valors és: (“Hola”, “Bon dia”)
La llista després d'afegir valors és: ('Hola', 'Bon dia', 'Python', 'Hola')
A l'exemple anterior, afegim els valors 'Python' i 'Hola' al final de la llista.
Sortida:
Exemple: 2
List = (“Hello”, “Good Morning”) print(“List before appending values is: “, List) print(“Length of the list before appending is: “, len(List)) List.append(“Python”) List.append(“Hi”) print(“List after appending values is: ”, List) print(“Length of the list after appending is: “, len(List))
Sortida:
La llista abans d’afegir valors és: (“Hola”, “Bon dia”)
La longitud de la llista abans d’afegir-la és: 2
La llista després d'afegir valors és: ('Hola', 'Bon dia', 'Python', 'Hola')
La longitud de la llista després d'afegir-la és: 4
Podem trobar la longitud de la llista mitjançant la funció len (), tal com es mostra a l’exemple anterior.
Sortida:
També podem afegir diversos valors a la llista mitjançant el bucle for.
Exemple: 3
List = (7, 9, 8) print(“List before adding elements is: “, List) print(“Length of List before adding elements is: “, len(List)) for i in range(2, 6): List.append(i) print(“List after adding elements is: “, List) print(“Length of List after adding elements is: “, len(List))
Sortida:
La llista abans d'afegir elements és: (7, 9, 8)
La longitud de la llista abans d'afegir elements és: 3
La llista després d'afegir elements és: (7, 9, 8, 2, 3, 4, 5)
La longitud de la llista després d'afegir elements és: 7
Sortida:
Què passa si afegim una llista de llista a una llista? Vegem-ho a l'exemple següent.
Exemple: 4
List1 = (“Hi”, “Python”) List2 = (1, 5, 7, 2) List1.append(List2) print(“List1 after appending List2 is: “, List1)
Sortida:
Llista1 després d'afegir-hi Llista2 és: ('Hola', 'Python', (1, 5, 7, 2))
Si es nota a l'exemple anterior, quan afegim Llista2 a Llista1, Llista1 es convertirà en una llista imbricada.
Sortida:
Si no voleu que la llista sigui una llista imbricada després d'afegir-la, és millor utilitzar el mètode extend ().
Exemple: 5
List1 = (“Hi”, “Python”) List2 = (1, 5, 7, 2) List1.extend(List2) print(“List1 after appending List2 is: “, List1)
Sortida:
Llista1 després d'afegir-hi Llista2 és: ('Hola', 'Python', 1, 5, 7, 2)
Quan fem servir el mètode extend (), els elements de la llista1 s’ampliaran amb els elements de la llista2. Recordeu que no s'afegirà la llista quan fem servir el mètode extend ().
Sortida:
Quan amplieu una llista amb una cadena, s'afegirà cada caràcter de la cadena a la llista, ja que una cadena és iterable.
Exemple: 6
List = (1, 5, 7, 2) List.extend(“Python”) print(“List after extending the String is: “, List)
Sortida:
La llista després d’ampliar la cadena és: (1, 5, 7, 2, ‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)
Sortida:
Llista append () vs extend ()
Vegem alguns exemples de extend () i append ().
Exemple: 1
def my_fun(): List1 = (“Hi”, 1, “Hello”, 2, 5) print(“The elements of List is: “, List) List.append(“Python”) print(“List after appending the String is: “, List) List.append((“one”, “two”, 3)) print(“List after appending the list is: “, List) List2 = (“Apple”, “Orange”, 2, 8) List1.extend(List2) print(“List1 after extending the List2 is: “, List1) if __name__ == “__main__”: my_fun()
Sortida:
Els elements de la llista són: ('Hola', 1, 'Hola', 2, 5)
La llista després d'afegir la cadena és: ('Hola', 1, 'Hola', 2, 5, 'Python')
La llista després d'afegir la llista és: ('Hola', 1, 'Hola', 2, 5, 'Python', ('un', 'dos', 3))
Llista1 després d’ampliar la Llista2 és: (“Hola”, 1, “Hola”, 2, 5, “Python”, (“un”, “dos”, 3), “Apple”, “Taronja”, 2, 8)
Sortida:
Exemple: 2
List = (“Apple”, “Orange”, “Mango”, “Strawberry”) print(“List before inserting is: “, List) List.insert(2, “Watermelon”) print(“List after inserting is: “, List)
Sortida:
La llista abans d'inserir-la és: ('Apple', 'Orange', 'Mango', 'Strawberry')
La llista després d'inserir-la és: ('Apple', 'Orange', 'Sandia', 'Mango', 'Strawberry')
Sortida
Com hem comentat anteriorment, el mètode insert () s'utilitza per inserir valors en un índex específic de la llista.
Exemple: 3
List1 = (2, 4, 6, 8) print(“List after adding the elements is: “, List1 + (1, 3, 5, 7)) print(“After adding same elements repeatedly is: “, (“Hi”) *5)
Sortida:
La llista després d'afegir els elements és: (2, 4, 6, 8, 1, 3, 5, 7)
Després d'afegir els mateixos elements repetidament, hi ha: ('Hola', 'Hola', 'Hola', 'Hola', 'Hola')
Sortida:
Supressió o eliminació d'elements d'una llista
També podem suprimir o eliminar elements de la llista mitjançant instruccions del i remove ().
diferència entre les proves del sistema i les proves d'acceptació de l'usuari
Vegem a l'exemple següent.
Exemple: 1
List = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(“List before deleting 3rd element is: ”, List) del List(3) print(“List after deleting 3rd element is: ”, List) del List(1:3) print(“List after deleting multiple elements is: “, List)
Sortida:
La llista abans de suprimir el tercer element és: (1, 2, 3, 4, 5, 6, 7, 8, 9)
La llista després de suprimir el tercer element és: (1, 2, 3, 5, 6, 7, 8, 9)
La llista després de suprimir diversos elements és: (1, 5, 6, 7, 8, 9)
A l'exemple anterior, podeu observar que hem utilitzat la sentència del per suprimir un element o diverses sentències de la llista.
Sortida:
Ara veurem sobre el mètode remove ().
Exemple: 2
List = (1, 2, 3, 4, 5, 6, 7) print(“List before removing a element is: “, List) List.remove(3) print(“List after removing a element is: “, List) List.pop() print(“List after poping the element is: “, List)
Sortida:
La llista abans d’eliminar un element és: (1, 2, 3, 4, 5, 6, 7)
La llista després d’eliminar un element és: (1, 2, 4, 5, 6, 7)
La llista després d'aparèixer l'element és: (1, 2, 4, 5, 6)
A l'exemple anterior, podeu observar que estem eliminant un element de la llista mitjançant el mètode remove (). El mètode pop () s’utilitza per eliminar / eliminar l’últim element de la llista.
Sortida:
Mètodes de llista
Mètodes | Descripció |
---|---|
clear () | Per eliminar tots els elements de la llista. |
append () | Per afegir un element al final de la llista. |
insert () | Per inserir un element en un índex específic de la llista. |
extend () | Per afegir una llista d'elements al final de la llista. |
count () | Per retornar el nombre d'elements amb un valor específic. |
index () | Per retornar l'índex del primer element. |
revers () | Per invertir una llista existent. |
remove () | Per eliminar els elements de la llista. |
Conclusió
En aquest tutorial, n'hem analitzat alguns característiques de les llistes de Python juntament amb les diverses maneres de manipular una llista com creant una llista , accedir a elements d’una llista , i substituir els elements d'una llista.
Aquest tutorial de la llista Python es pot concloure amb els següents indicadors:
- La llista és un dels tipus de dades de Python, que també es coneix com a estructura de dades.
- La llista s’utilitza per emmagatzemar un gran nombre de valors de qualsevol tipus de dades en una sola variable, que al seu torn ajuda a accedir fàcilment.
- L’índex de llista sempre comença a zero com els altres llenguatges de programació.
- Si esteu treballant a la llista, heu de recordar totes les funcions integrades habituals de la mateixa.
=> Visiteu aquí per aprendre Python des de zero
Lectura recomanada
- Tutorial Python per a principiants (entrenament pràctic GRATU PyT en Python)
- Variables de Python
- Tutorial de llista avançada de Python (Ordenació de llista, inversió, índex, còpia, unió, suma)
- Tutorial Python Tuple amb exemples pràctics
- Funcions de cadena de Python
- Llistes a STL
- Estructura de dades de la llista enllaçada en C ++ amb il·lustració
- Estructura de dades de llistes enllaçades circulars en C ++ amb il·lustració