Tupels zijn een type gegevenstype van een variabele waarmee we meerdere objecten op één plek kunnen opslaan. Een tupel is een geordende en onveranderlijke verzameling items (we kunnen elementen in een tupel niet bijwerken). Er zijn vier ingebouwde Python-datastructuren om elementen op te slaan, één daarvan is een tuple en de andere zijn List, Dictionary en Set, elk met zijn eigen set eigenschappen en gebruik. Ze zijn tussen ronde haakjes geschreven.
Een tupel sorteren in Python
Sort() gebruiken
De methode sort() wordt vaak gebruikt om elementen van een lijst in oplopende volgorde te sorteren, waarbij het eerste element standaard wordt gesorteerd. We kunnen een tupel sorteren door deze eerst naar een lijst te converteren en vervolgens deze functie toe te passen. Deze functie sorteert de lijst op zijn plaats en retourneert Geen.
str.replace in Java
Invoer
tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_))
Uitgang:
('Itika', 'Arshia', 'Peter', 'Parker')
Gesorteerd() gebruiken
Gebruik in Python de ingebouwde functie sort() om een tuple te sorteren. Het tupel moet als argument aan de functie sort() worden doorgegeven. De tuple-items worden (standaard) in oplopende volgorde gesorteerd in de lijst die door de functie wordt geretourneerd. We kunnen een tupel gebruiken om dit lijstgegevenstype naar een tupel () te converteren.
De omgekeerde parameter voor de functie sort() kan ook de sorteervolgorde specificeren. Oplopend is de standaard sorteervolgorde. De items worden in aflopende volgorde gesorteerd als reverse=True is ingesteld. We kunnen ook een sleutelfunctie specificeren waarvan de geretourneerde waarden worden gebruikt om items te sorteren. We nemen een tuple, tuple_, met gehele waarden, en sorteren deze in oplopende volgorde in het volgende programma.
Invoer
tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Uitgang:
Sorted Tuple : (1, 2, 3, 5, 6, 7, 24)
Nu sorteren we de tuple in aflopende volgorde met dezelfde functie. Geef reverse=True door aan de functie sort() om de tupel in aflopende volgorde te sorteren.
Invoer
tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Uitgang:
Sorted Tuple : (24, 7, 6, 5, 3, 2, 1)
Een tupel sorteren op basis van een sleutelfunctie
Een sleutel is een functie die een waarde aanneemt en een waarde retourneert. Voor elk van de items in tupel wordt deze sleutelfunctie toegepast en wordt de geretourneerde waarde gebruikt ter vergelijking om de items te sorteren. In het volgende programma sorteren we een aantal strings op basis van de lengte van de strings. Voor dit geval kunnen we de ingebouwde functie len() als sleutel gebruiken.
Invoer
tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_))
Uitgang:
Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc')
Sorteerlijst met tupels
Gesorteerd() gebruiken
Laten we eens kijken hoe we een lijst in Python kunnen sorteren met behulp van een tuple. Beschouw het volgende scenario: we willen de lijst met tupels sorteren. We moeten tupels sorteren op basis van elke sleutel die ons wordt gegeven. Dit kan worden bereikt met behulp van de functie sort(), die items sorteert met behulp van een sleutel en de sleutelindex opslaat voor het sorteren van de gegeven tupels. De Python-uitvoering van deze aanpak is als volgt:
Invoer
Binaire zoekopdracht
# Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_))
Uitgang:
Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)]
Bellensortering gebruiken
Bubble sort is slechts een sorteeralgoritme voor het sorteren van een lijst met een willekeurig aantal elementen. Als de aangrenzende items in een bepaalde lijst in de verkeerde volgorde staan, worden ze omgewisseld. Vervolgens herhaalt het dit proces totdat alle elementen zijn gesorteerd.
In dit voorbeeld gebruiken we het bellensorteeralgoritme om een lijst met tupels te sorteren.
Invoer
roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll)
Uitgang:
[('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]