Maison > Article > développement back-end > Exemple détaillé d'implémentation de la méthode list en Python3
La séquence de liste Python3 est la structure de données la plus basique en Python. L'article suivant vous présente principalement les informations pertinentes sur la méthode de liste des notes d'étude Python3. L'article la présente en détail à travers un exemple de code, ce qui est très utile pour. votre étude ou votre travail. Il a une certaine valeur de référence et d'apprentissage, et les amis dans le besoin peuvent s'y référer.
Avant-propos
Cet article vous présente principalement le contenu pertinent sur la méthode de liste Python3 et le partage pour votre référence et votre étude. pas grand chose à dire ci-dessous. Cela dit, jetons un œil à l’introduction détaillée.
1 Utilisez [] ou list() pour créer une liste
user = [] user = list()
2 Utilisez list() pour convertir d'autres types en listes
# 将字符串转成列表 >>> list('abcde') ['a', 'b', 'c', 'd', 'e'] # 将元祖转成列表 >>> list(('a','b','c')) ['a', 'b', 'c']
3 Utilisez [offset] pour obtenir des éléments ou modifier des éléments
>>> users = ['a','b','c','d','e'] # 可以使用整数来获取某个元素 >>> users[0] 'a' # 可以使用负整数来表示从尾部获取某个元素 >>> users[-1] 'e' # 数组越界会报错 >>> users[100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> users[-100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range # 修改某个元素 >>> users[0] = 'wdd' >>> users ['wdd', 'b', 'c', 'd', 'e'] >>>
4 Découpage et extraction de liste éléments
Après avoir découpé ou extrait la liste, il s'agit toujours d'une liste
sous la forme : list[start:end:step]
>>> users ['wdd', 'b', 'c', 'd', 'e'] # 正常截取 注意这里并不会截取到users[2] >>> users[0:2] ['wdd', 'b'] # 也可从尾部截取 >>> users[0:-2] ['wdd', 'b', 'c'] # 这样可以获取所有的元素 >>> users[:] ['wdd', 'b', 'c', 'd', 'e'] # 也可以加上步长参数 >>> users[0:4:2] ['wdd', 'c'] # 也可以通过这种方式去将列表取反 >>> users[::-1] ['e', 'd', 'c', 'b', 'wdd'] # 注意切片时,偏移量可以越界,越界之后不会报错,仍然按照界限来处理 例如开始偏移量如果小于0,那么仍然会按照0去计算。 >>> users ['wdd', 'b', 'c', 'd', 'e'] >>> users[-100:3] ['wdd', 'b', 'c'] >>> users[-100:100] ['wdd', 'b', 'c', 'd', 'e'] >>>
5 Utilisez append() pour ajouter des éléments à la fin
Le formulaire est : list.append(item)
>>> users ['wdd', 'b', 'c', 'd', 'e'] >>> users.append('ddw') >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw']
6 Utilisez extend() ou += pour fusionner des listes
sous la forme : list1.extend(list2)
Les deux méthodes modifieront directement la liste d'origine
>>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw'] >>> names ['heihei', 'haha'] >>> users.extend(names) >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha'] >>> users += names >>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha']
7 Utilisez insert() pour insérer des éléments à la position spécifiée
se présente sous la forme de : list.insert(offset, item)
insert n'a pas de problème de franchir la limite. Le décalage peut être positif ou négatif, et il s'adaptera automatiquement à la limite et aucune erreur ne sera signalée
>>> users ['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha'] >>> users.insert(0,'xiaoxiao') >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha'] >>> users.insert(-1,'-xiaoxiao') >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha'] # 下面-100肯定越界了 >>> users.insert(-100,'-xiaoxiao') >>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha'] # 下面100也是越界了 >>> users.insert(100,'-xiaoxiao') >>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
8 Utilisez del pour supprimer un élément
est sous la forme : del list[offset]
del est une instruction python, pas une liste Lorsque del supprime des éléments inexistants, il affichera également un message hors limites
>>> users ['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] >>> del users[0] >>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] >>> del users[100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range >>> del users[-100] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range
9 Utilisez Remove pour supprimer des éléments. avec des valeurs spécifiées
sous la forme : list.remove(value)
>>> users ['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除指定值'c' >>> users.remove('c') >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除不存在的值会报错 >>> users.remove('alsdkfjalsdf') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list # 如果该值存在多个,那么只能删除到第一个 >>> users.remove('haha') >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
10 Utilisez pop() pour renvoyer un élément et supprimez-le dans le tableau
est sous la forme : list.pop(offset=-1)
Le décalage par défaut est -1, ce qui signifie le dernier l'élément est supprimé
>>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao'] # 删除最后的元素 >>> users.pop() '-xiaoxiao' >>> users ['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 如果列表本身就是空的,那么pop时会报错 >>> user.pop(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop from empty list >>> users.pop(0) 'xiaoxiao' >>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 越界时也会报错 >>> users.pop(100) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop index out of range
11 Utilisez index() pour interroger la position des éléments avec des valeurs spécifiques
sous la forme : list.index(value)
# index只会返回第一遇到该值得位置 >>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> users.index('heihei') 5 # 如果该值不存在,也会报错 >>> users.index('laksdf') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 'laksdf' is not in list
12 Utiliser dans pour déterminer si la valeur existe dans le liste
Le formulaire est : value in list
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> 'wdd' in users True
13 Nombre d'utilisations () pour enregistrer le nombre de fois qu'une valeur spécifique apparaît
Le formulaire est : list.count(value)
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> users.count('heihei') 2 >>> users.count('h') 0
14 Utilisez join() pour convertir la liste en une chaîne
sous la forme : string.join(list)
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] >>> ','.join(users) 'wdd,b,d,e,ddw,heihei,heihei,-xiaoxiao,haha' >>> user [] >>> ','.join(user) ''
15 Utilisez sort() pour réorganiser les éléments de la liste
sous la forme : list.sort()
>>> users ['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha'] # 默认是升序排序 >>> users.sort() >>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] # 加入reverse=True, 可以降序排序 >>> users.sort(reverse=True) >>> users ['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao'] # 通过匿名函数,传入函数进行自定义排序 >>> students [{'name': 'wdd', 'age': 343}, {'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}] >>> students.sort(key=lambda item: item['age']) >>> students [{'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}, {'name': 'wdd', 'age': 343}] >>> students.sort(key=lambda item: item['age'], reverse=True) >>> students [{'name': 'wdd', 'age': 343}, {'name': 'jik', 'age': 90}, {'name': 'ddw', 'age': 43}] >>>
16 Utilisez reverse() pour retourner la liste sous la forme de
Pour exemple : list.reverse()
>>> users ['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao'] >>> users.reverse() >>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
17 Utilisez copy() pour copier la liste
Formulaires tels que : list2 = list1.copy()
list2 = list1
Ce n'est pas une copie de la liste, cela donne simplement un alias à la liste. En fait, cela indique toujours la même valeur.
>>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> users2 = users.copy() >>> users2 ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>>
18 Utilisez clear() pour effacer la liste
Le format est la suivante : list.clear()
>>> users2 ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> users2.clear() >>> users2 []
19 Utilisez len() pour obtenir la longueur de la liste
formulaire Tels que : len(list)
>>> users ['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd'] >>> len(users) 9
20 réflexions approfondies sur la transgression de la liste
Après avoir écrit ces méthodes, je me pose quelques questions. Pourquoi certaines opérations sortent-elles des limites alors que d'autres ne le font pas ?
indiquera que le décalage est hors limites :
list[offset]
Lire ou modifier un élément
del list[offset]
Supprimer l'élément à la position spécifiée
list.remove(value)
Supprimer l'élément avec la valeur spécifiée
list.pop(offset)
Supprimer l'élément avec la position spécifiée
Si Si le décalage est hors limites, ces méthodes signaleront une erreur. Ma compréhension personnelle est la suivante :
Si je veux lire l'élément avec un décalage de 10, mais que l'élément n'existe pas, si le système lit automatiquement le dernier élément de la liste pour vous, et si vous ne le faites pas Je ne signale pas d'erreur, c'est un bug intolérable. Si je veux supprimer le 10ème élément, mais que le 10ème élément n'existe pas et que le système supprime le dernier élément de la liste pour vous, je pense que c'est intolérable.
Ainsi, lorsque vous utilisez ces méthodes, assurez-vous de confirmer si l'élément au niveau du décalage existe, sinon une erreur pourrait être signalée.
Résumé
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!