Maison  >  Article  >  développement back-end  >  Partager diverses compétences opérationnelles de liste en Python

Partager diverses compétences opérationnelles de liste en Python

Y2J
Y2Joriginal
2017-04-24 13:55:341190parcourir

J'apprends le langage Python récemment. J'ai essentiellement appris la syntaxe de base de Python. Je pense que la position de Python dans le traitement des données est indissociable de son opération de liste.

J'ai appris les opérations de base pertinentes et pris des notes ici.

'''
Python --version Python 2.7.11
Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists
Add by camel97 2017-04
'''
list.append(x) #在列表的末端添加一个新的元素
Add an item to the end of the list; equivalent to a[len(a):] = [x].

list.extend(L)#Fusionner les éléments des deux listes ensemble

Étendez la liste en ajoutant tous les éléments de la liste donnée équivalent à un[ ; len(a):] = L.

list.insert(i, x)#Insérer l'élément à la position spécifiée (la position est la précédente de l'élément d'index i)
Insérer un élément à une position donnée. Le premier argument est l'index de l'élément avant lequel insérer, donc a.insert(0, x) s'insère au début de la liste, et a.insert(len(a), x) est Équivalent à a.append(x).

list.remove(x)#Supprimez le premier élément de valeur x dans la liste (c'est-à-dire que s'il y a deux x dans la liste, seul le premier x sera être supprimé)

Supprimer le premier élément de la liste dont la valeur est x C'est une erreur s'il n'y a pas un tel élément.

list.pop([i])#. Supprimer la liste Le i-ième élément dans et renvoie cet élément. Si le paramètre i n'est pas donné, le dernier élément de la liste sera supprimé par défaut
Supprimez l'élément à la position donnée dans la liste et renvoyez-le. Si aucun index n'est spécifié, a.pop() supprime et renvoie. le dernier élément de la liste. (Les crochets autour du i dans la signature de la méthode indiquent que le paramètre est facultatif, et non que vous devez taper des crochets à cette position. Vous verrez fréquemment cette notation dans la référence de la bibliothèque Python.)

list.index(x)#Renvoyer l'index dans la liste du premier élément dont la valeur est x C'est une erreur s'il n'y a pas un tel élément.

list.count. (x)#Renvoyer le nombre d'éléments avec la valeur x dans la liste

Renvoyer le nombre de fois que x apparaît dans la liste.

démo :

result:

#-*-coding:utf-8-*-
L = [1,2,3]   #创建 list 
L2 = [4,5,6]
print L
L.append(6)   #添加
print L
L.extend(L2) #合并
print L
L.insert(0,0) #插入
print L
L.remove(6)   #删除
print L
L.pop()     #删除
print L
print L.index(2)#索引
print L.count(2)#计数
L.reverse()   #倒序
print L

list.sort(cmp=None, key=None, reverse=False)

[1, 2, 3]
[1, 2, 3, 6]
[1, 2, 3, 6, 4, 5, 6]
[0, 1, 2, 3, 6, 4, 5, 6]
[0, 1, 2, 3, 4, 5, 6]
[0, 1, 2, 3, 4, 5]
2
1
[5, 4, 3, 2, 1, 0]
 Trier les éléments de la liste sur place (les arguments peuvent être utilisés pour le tri personnalisation, voir sorted() pour leur explication).

1. Trier une liste. La valeur par défaut est de trier de petit à grand

2.reverse est une valeur booléenne. La valeur par défaut est False. S'il est défini sur True, alors les éléments de cette liste seront comparés en fonction de la valeur booléenne. résultat opposé. (Ordre inverse).

L = [2,5,3,7,1]
L.sort()
print L
==>[1, 2, 3, 5, 7]
L = ['a','j','g','b']
L.sort()
print L
==>['a', 'b', 'g', 'j']
# reverse est une valeur booléenne. S'il est défini sur True, alors les éléments de la liste sont triés comme si chaque comparaison était inversée.

3. .key est une fonction qui spécifie la clé de tri, généralement une expression lambda ou une fonction spécifiée

L = [2,5,3,7,1]
L.sort(reverse = True)
print L
==>[7, 5, 3, 2, 1]
L = ['a','j','g','b']
L.sort(reverse = True)
print L
==>['j', 'g', 'b', 'a']
#key spécifie une fonction d'un argument utilisée pour extraire une clé de comparaison de chaque élément de la liste : key = str .lower. La valeur par défaut est Aucun (comparez directement les éléments).

4.cmp ​​​​est une fonction qui spécifie deux paramètres. Il détermine la méthode de tri.

#-*-coding:utf-8-*-
#创建一个包含 tuple 的 list 其中tuple 中的三个元素代表名字 , 身高 , 年龄
students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
print students
==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
students.sort(key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]#按名字(首字母)排序
students.sort(key = lambda student:student[1])
print students
==>[('Tom', 160, 12), ('John', 170, 15), ('Dave', 180, 10)]#按身高排序
students.sort(key = lambda student:student[2])
print students
==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]#按年龄排序
#cmp spécifie une fonction de comparaison personnalisée de deux arguments (éléments itérables) qui doit renvoyer un nombre négatif, zéro ou positif selon que le premier #argument est considéré comme plus petit, égal ou plus grand que le second argument : cmp=lambda x,y : cmp(x.lower(), y.lower()). La valeur par défaut est Aucune.

cmp permet aux utilisateurs de personnaliser la relation de taille. Habituellement, nous pensons 1 &Lt 2 et un &Lt b.

#-*-coding:utf-8-*-
students = [('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
print students
==>[('John', 170, 15), ('Tom', 160, 12), ('Dave', 180, 10)]
#指定 用第一个字母的大写(ascii码)和第二个字母的小写(ascii码)比较
students.sort(cmp=lambda x,y: cmp(x.upper(), y.lower()),key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]
#指定 比较两个字母的小写的 ascii 码值
students.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()),key = lambda student:student[0])
print students
==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]
#cmp(x,y) 是python内建立函数,用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
Nous pouvons désormais personnaliser la fonction pour trier la liste selon les règles spécifiées en personnalisant la relation de taille (par exemple, 2 < a < 1 < b).

Cela est souvent utile lorsque nous sommes confrontés à des problèmes particuliers.

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