Maison  >  Article  >  développement back-end  >  La différence entre list et set en Python

La différence entre list et set en Python

尚
original
2019-07-05 11:00:306271parcourir

La différence entre list et set en Python

liste :

signifie littéralement un ensemble. En Python, les éléments d'une liste sont représentés par des crochets []. >

L = [12, 'China', 19.998]

Vous pouvez voir que les types d'éléments ne doivent pas nécessairement être les mêmes. Bien entendu, vous pouvez également définir une Liste vide :

L = []

La Liste en Python est ordonnée, donc si vous souhaitez accéder à la Liste, vous devez évidemment y accéder via le numéro de série, tout comme l'indice du tableau , c'est le même que l'indice À partir de 0 :

>>> print L[0]12

Ne franchissez pas la limite, sinon une erreur sera signalée

>>> print L[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

La liste est également accessible dans l'ordre inverse, et le numéro de série le nombre est représenté par un indice tel que "xième à partir du dernier", tel que -1 Cet indice représente l'avant-dernier élément :

>>> L = [12, &#39;China&#39;, 19.998]
>>> print L[-1]19.998

-4 est évidemment hors limites, comme suit :

>>> print L[-4]

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print L[-4]
IndexError: list index out of range
>>>

La liste est ajoutée à la fin via la méthode append() intégrée, et la méthode insert() est ajoutée à la position spécifiée (l'indice commence à 0) :

>>> L = [12, &#39;China&#39;, 19.998]
>>> L.append('Jack')
>>> print L
[12, 'China', 19.998, 'Jack']
>>> L.insert(1, 3.14)
>>> print L
[12, 3.14, 'China', 19.998, 'Jack']
>>>

Notez qu'il existe plusieurs méthodes en python qui sont similaires à append, mais l'effet est complètement différent Lorsque vous l'utilisez, vous devez choisir la bonne méthode en fonction des besoins réels

1 append() Ajoute un nouvel élément à la fin de la liste. La liste n'occupe qu'une seule position d'index. Ajouter

2. extend() Ajoute une liste à la fin de la liste et

est ajouté à la liste d'origine. Par exemple, list1=[1, 2, 3] .list2=[4, 5, 6]

list1.append(list2 ) Le résultat est [1, 2, 3, [4, 5, 6 ]]

Le résultat de list1.extend(list2) est [1, 2, 3, 4, 5, 6]

3 + Utiliser directement le signe + semble avoir la même chose. effet comme l'utilisation de extend(), mais il génère en fait une nouvelle liste pour stocker la somme des deux listes, qui ne peut être utilisée que pour ajouter les deux listes

4 += L'effet est le même que extend(). (), ajoutez un nouvel élément à la liste d'origine, ajoutez

à la liste d'origine, supprimez le dernier élément de queue via pop(), vous pouvez également spécifier un paramètre pour supprimer la position spécifiée :

>>> L.pop()
&#39;Jack&#39;
>>> print L
[12, 3.14, &#39;China&#39;, 19.998]
>>> L.pop(0)
>>> print L
[3.14, &#39;China&#39;, 19.998]

peut également être copié et remplacé par un indice

>>> L[1] = &#39;America&#39;
>>> print L
[3.14, &#39;America&#39;, 19.998]

set :


set est également un ensemble de nombres, non ordonnés, et le contenu ne peut pas être répété Pass Create en appelant. la méthode set() :

>>> s = set([&#39;A&#39;, &#39;B&#39;, &#39;C&#39;])

Le sens de l'accès à un ensemble est simplement de vérifier si un élément est dans l'ensemble. Faites attention au respect de la casse :

>>> print &#39;A&#39; in s
True
>>> print &#39;D&#39; in s
False

est également parcouru pour :

s = set([(&#39;Adam&#39;, 95), (&#39;Lisa&#39;, 85), (&#39;Bart&#39;, 59)])

for x in s:
    print x[0],&#39;:&#39;,x[1]

>>>
Lisa : 85
Adam : 95
Bart : 59

Ajoutez et supprimez des éléments via Add et Remove (gardez-les non répétitifs). Lors de l'ajout d'éléments, utilisez la méthode add() de set

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])

Si l'élément ajouté existe déjà dans le set , add() ne signalera pas d'erreur, mais il ne sera pas ajouté :

>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])

Lors de la suppression d'éléments dans l'ensemble, utilisez la méthode remove() de set :

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])

Si le l'élément supprimé n'existe pas Dans set, remove() signalera une erreur :


>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 4

Donc, si nous voulons déterminer si un élément remplit des conditions différentes, l'utilisation de set est le meilleur choix. :

months = set([&#39;Jan&#39;,&#39;Feb&#39;,&#39;Mar&#39;,&#39;Apr&#39;,&#39;May&#39;,&#39;Jun&#39;,&#39;Jul&#39;,&#39;Aug&#39;,&#39;Sep&#39;,&#39;Oct&#39;,&#39;Nov&#39;,&#39;Dec&#39;,])
x1 = &#39;Feb&#39;
x2 = &#39;Sun&#39;

if x1 in months:
    print &#39;x1: ok&#39;
else:
    print &#39;x1: error&#39;

if x2 in months:
    print &#39;x2: ok&#39;
else:
    print &#39;x2: error&#39;

>>>
x1: ok
x2: error

De plus, l'efficacité de calcul de set est supérieure à celle de list.

Pour plus d'articles techniques liés à Python, veuillez visiter la colonne

Tutoriel Python pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn