La différence entre list et set en Python

Libérer: 2019-07-05 11:00:30
original
6183 Les gens l'ont consulté

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]
Copier après la connexion

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 = []
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

-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
>>>
Copier après la connexion

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']
>>>
Copier après la connexion

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]
Copier après la connexion

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

>>> L[1] = &#39;America&#39;
>>> print L
[3.14, &#39;America&#39;, 19.998]
Copier après la connexion

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;])
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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])
Copier après la connexion

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])
Copier après la connexion

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])
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!