Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung der Sortiermethode in Python

Detaillierte Erläuterung der Verwendung der Sortiermethode in Python

不言
不言Original
2018-04-09 17:24:413401Durchsuche

In diesem Artikel wird hauptsächlich die Sortiermethode in Python vorgestellt.

Die Methode sort() in Python wird in der Form von ausführlich erläutert Beispiele:

1. Grundform
Die Liste verfügt über eine eigene Sortiermethode, die die Liste direkt sortiert. Es ist offensichtlich, dass Tupel Diese Methode kann nicht verwendet werden, da die Tupelgruppen nicht geändert werden können.

x = [4, 6, 2, 1, 7, 9]
x.sort()
print x # [1, 2, 4, 6, 7, 9]

Wenn Sie eine sortierte Kopie benötigen und dabei die Originalliste unverändert lassen möchten, wie erreichen Sie dies

x =[4, 6, 2, 1, 7, 9]
y = x[ : ]
y.sort()
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

Hinweis: y = x[:] kopiert alle Elemente der Liste x durch Slicing-Operation nach y. Wenn x einfach y zugewiesen wird: y = x, y und x verweisen immer noch auf dieselbe Liste und es wird keine neue Kopie generiert .

Eine andere Möglichkeit, eine Kopie der sortierten Liste zu erhalten, ist die Verwendung der sortierten Funktion:

x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

sorted gibt a zurück Eine Kopie der Bestellung, und der Typ ist immer eine Liste, wie folgt:

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']

2. Benutzerdefinierte Vergleichsfunktion

Sie können Ihre eigene Vergleichsfunktion definieren und diese dann über Parameter an die Sortiermethode übergeben:

def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0

nums = [3, 2, 8 ,0 , 1]
nums.sort(comp)
print nums # 降序排序[8, 3, 2, 1, 0]
nums.sort(cmp) # 调用内建函数cmp ,升序排序
print nums # 降序排序[0, 1, 2, 3, 8]

3. Optionale Parameter

Die Sortiermethode verfügt außerdem über zwei optionale Parameter: key und reverse

1 Bei Verwendung von key ist dies eine Funktion Wird vom Sortiervorgang aufgerufen:

x = [&#39;mmm&#39;, &#39;mm&#39;, &#39;mm&#39;, &#39;m&#39; ]
x.sort(key = len)
print x # [&#39;m&#39;, &#39;mm&#39;, &#39;mm&#39;, &#39;mmm&#39;]

2 Um in absteigender Reihenfolge umzukehren, müssen Sie einen booleschen Wert angeben:

y = [3, 2, 8 ,0 , 1]
y.sort(reverse = True)
print y #[8, 3, 2, 1, 0]


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Sortiermethode in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn