La méthode traditionnelle pour ajouter des éléments à une liste est de les ajouter un par un avec append ().
>>> marxes=["TTTTTT","aaaa","bbbb"]
>>> marxes.append("Zeppo")
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Zeppo']
Vous pouvez combiner deux ** listes ** avec extend ().
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Zeppo']
>>> others=["Gummo","Karl"]
>>> marxes.extend(others)
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Zeppo', 'Gummo', 'Karl']
>>> marxes=["TTTTTT",'aaaa', 'CCCC']
>>> others=["Gummo","Karl"]
>>> marxes+=others
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Gummo', 'Karl']
À ce stade, si append () est utilisé, il sera ajouté comme un élément de liste au lieu de l'autre élément. Cela montre également que la liste peut avoir différents types.
>>> marxes=["TTTTTT",'aaaa', 'CCCC']
>>> others=["Gummo","Karl"]
>>> marxes.append(others)
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', ['Gummo', 'Karl']]
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', ['Gummo', 'Karl']]
La fonction append () peut uniquement ajouter un élément à la fin de la liste, mais si vous souhaitez spécifier un décalage pour la liste et ajouter un élément avant elle, utilisez la fonction insert ().
>>> marxes.insert(3,"Gummo")
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Gummo', ['Gummo', 'Karl']]
#Si vous spécifiez un décalage qui dépasse la fin, ajoutez()Il est inséré à la fin de la liste de la même manière que.
>>> marxes.insert(10,"XXXXXX")
>>> marxes
['TTTTTT', 'aaaa', 'CCCC', 'Gummo', ['Gummo', 'Karl'], 'XXXXXX']
>>> marxes=["Groucho","Choico", 'Haapo',"Gummo","Zepppo"]
>>> del marxes[-1]
>>> marxes
['Groucho', 'Choico', 'Haapo', 'Gummo']
>>> marxes=["Groucho","Choico", 'Haapo',"Gummo","Zepppo"]
>>> marxes[2]
'Haapo'
>>> del marxes[2]
>>> marxes
['Groucho', 'Choico', 'Gummo', 'Zepppo']
Puisque del est une instruction Python et non une méthode de liste, nous ne l'écrivons pas sous la forme marxes [-2] .del (). del est l'opposé de l'affectation, séparant le nom de l'objet Python et libérant la mémoire de l'objet si le nom est la dernière référence à l'objet.
Si vous ne vous souciez pas de la position de l'élément que vous souhaitez supprimer, utilisez remove () pour spécifier une valeur et supprimer l'élément.
>>> marxes=["Groucho","Choico", 'Haapo',"Gummo","Zepppo"]
>>> marxes.remove("Gummo")
>>> marxes
['Groucho', 'Choico', 'Haapo', 'Zepppo']
Vous pouvez utiliser pop () pour faire sortir un élément de la liste et le supprimer de la liste en même temps.
L'appel de pop () avec un offset renvoie l'élément correspondant à cet offset. Si aucun argument n'est spécifié, -1 est utilisé comme décalage. pop (0) renvoie l'en-tête de la liste, pop () ou pop (-1) renvoie la fin.
>>> marxes=["Groucho","Choico", 'Haapo',"Zepppo"]
>>> marxes.pop()
'Zepppo'
>>> marxes
['Groucho', 'Choico', 'Haapo']
>>> marxes.pop(1)
'Choico'
>>> marxes
['Groucho', 'Haapo']
Si vous souhaitez connaître le décalage dans la liste des éléments à partir de la valeur de l'élément, utilisez index ().
>>> marxes=["Groucho","Choico", 'Haapo',"Zepppo"]
>>> marxes.index("Choico")
1
Utilisez ** in ** pour tester si la liste a une valeur, comme Python.
>>> marxes=["Groucho","Choico", 'Haapo',"Zepppo"]
>>> "Groucho" in marxes
True
>>> "Boss" in marxes
False
Utilisez count () pour compter le nombre de valeurs spécifiques dans la liste.
>>> marxes=["Groucho","Choico", 'Haapo',"Zepppo","Zepppo"]
>>> "Zepppo" in marxes
True
>>> marxes=["Groucho","Choico", 'Haapo',"Zepppo","Zepppo"]
>>> marxes.count("Groucho")
1
>>> marxes.count("Boss")
0
>>> marxes.count("Zepppo")
2
N'oubliez pas que "join () est l'opposé de split ()"
>>> marxes=["Groucho","Choico", 'Haapo']
>>> ",".join(marxes)
'Groucho,Choico,Haapo'
>>> friends=["Harry", "Hermione", "Ron"]
>>> separator=" * "
>>> joined = separator.join(friends)
>>> joined
'Harry * Hermione * Ron'
>>> separated = joined.split(separator)
>>> separated
['Harry', 'Hermione', 'Ron']
>>> separated == joined
True
Si les éléments de la liste sont des nombres, ils sont triés par ordre croissant par défaut. Si l'élément est une chaîne, il sera trié par ordre alphabétique.
>>> marxes=["Groucho","Choico", 'Haapo']
#sorted_marxes est une copie et sa réalisation ne change pas la liste d'origine.
>>> sorted_marxes = sorted(marxes)
>>> sorted_marxes
['Choico', 'Groucho', 'Haapo']
>>> marxes
['Groucho', 'Choico', 'Haapo']
#fonction de liste trier à partir de la liste marxes()Appelle pour changer la liste des marxes elle-même.
>>> marxes.sort()
>>> marxes
['Choico', 'Groucho', 'Haapo']
>>> numbers = [2,4.5,1,3]
>>> numbers.sort()
>>> numbers
[1, 2, 3, 4.5]
>>> numbers = [2,4.5,1,3]
#La valeur par défaut est ascendante, mais inversée=Si vous ajoutez l'argument True, il sera dans l'ordre décroissant.
>>> numbers.sort(reverse=True)
>>> numbers
[4.5, 3, 2, 1]
>>> numbers = [2,4.5,1,3]
len () renvoie le nombre d'éléments de la liste.
>>> marxes=["Groucho","Choico", 'Haapo']
>>> len(marxes)
3
Lorsqu'une liste est affectée à plusieurs variables, lorsque l'une d'elles réécrit la liste, l'autre liste est également réécrite.
>>> a=[1,2,3]
>>> a
[1, 2, 3]
>>> b = a
>>> b
[1, 2, 3]
>>> a[0]="surprise"
>>> b
['surprise', 2, 3]
>>> a
['surprise', 2, 3]
>>> b[0]="I hate surprises"
>>> b
['I hate surprises', 2, 3]
>>> a
['I hate surprises', 2, 3]
b fait référence au même objet de liste que a. Quel que soit le nom utilisé pour a ou b pour réécrire le contenu de la liste, l'opération est reflétée dans les deux.
Vous pouvez copier la liste dans une nouvelle liste indépendante à l'aide de l'une des méthodes suivantes:
>>> a=[1,2,3]
#b,c,d est une copie d'un
>>> b=a.copy()
>>> c=list(a)
>>> d=a[:]
>>> a[0] = "integer lists are boring"
>>> a
['integer lists are boring', 2, 3]
>>> b
[1, 2, 3]
>>> c
[1, 2, 3]
>>> d
[1, 2, 3]
Le retrait d'un jour est difficile. Je me demande si je sortirai demain même à midi.
"Introduction à Python3 par Bill Lubanovic (publié par O'Reilly Japon)"
Recommended Posts