#!/usr/bin/python
# Personen.txt
# 9,Holger,19641221,Bremen
# 7,Manfred,195340517,Hamburg
# 8,Linus,19661106,Frankfurt
# 6,Zacharias,19630717,Zwickau
# 4,Andreas,19771005,Osnabrück
# 5,Alderus,19630805,Ahlen
# 2,Bertold,19630816,Meppen
# 3,Susi,19680423,Ratenau
# 1,Günter,19850618,Petersburg
# Sortierung nach Spalte 1,2,3,oder 4
# > Aufsteigend oder < Absteigend
sort = 1
liste = []
tempo = []
Eingabe = open("C:\LWD\AAARRRRGGGGHHHHHH\Personen.txt", "r")
for line in Eingabe:
line = line.rstrip()
liste.append(line.split(",", 3))
Eingabe.close()
for IX1 in range(len(liste)):
for IX2 in range(IX1 +1, len(liste)):
if liste[IX1][sort] > liste[IX2][sort]:
tempo = liste[IX2]
del liste[IX2]
liste.insert(IX1,tempo)
Sortieren von Listen
@Haryd: benutze Code-Tags, weil Einrückungen sonst nicht sichtbar sind. Die Frage ist ja, was willst Du machen? Warum programmierst Du einen "Sortieralgorithmus" selbst?
Zum Code: Variablen erst deklarieren, wenn sie wirklich gebraucht werden. Die Zuweisung der leeren Liste an `tempo` wird zum Beispiel nie gebraucht. Es gibt eine Namenskonvention, dass alle Variablennamen grundsätzlich klein geschrieben werden. IX1 und IX2 enthalten kaum mehr Information als i und j. Und dass der Code nicht schön ist, liegt daran, dass der Sortieralgorithmus nicht schön ist, es gibt bessere als welche der Ordnung O(n^3).
Zum Code: Variablen erst deklarieren, wenn sie wirklich gebraucht werden. Die Zuweisung der leeren Liste an `tempo` wird zum Beispiel nie gebraucht. Es gibt eine Namenskonvention, dass alle Variablennamen grundsätzlich klein geschrieben werden. IX1 und IX2 enthalten kaum mehr Information als i und j. Und dass der Code nicht schön ist, liegt daran, dass der Sortieralgorithmus nicht schön ist, es gibt bessere als welche der Ordnung O(n^3).
Code: Alles auswählen
with open("C:\LWD\AAARRRRGGGGHHHHHH\Personen.txt") as inp:
liste = [line.strip().split(",", 3) for line in inp]
liste.sort(key=lambda x: x[1])