logo

Hur man sorterar Tuple i Python

Tuples är en typ av datatyp för en variabel som låter oss lagra flera objekt på ett ställe. En tuppel är en ordnad och oföränderlig (vi kan inte uppdatera element i en tupel) samling av föremål. Det finns 4 inbyggda Python-datastrukturer för att lagra element, en av dem är en tupel, och de andra är Lista, Dictionary och Set, var och en med sin egen uppsättning egenskaper och användning. De är skrivna inom runda parenteser.

Sortera en Tuple i Python

Använda sort()

Metoden sort() används ofta för att sortera element i en lista i stigande ordning, där det första elementet sorteras som standard. Vi kan sortera en tuppel genom att först konvertera den till en lista och sedan använda den här funktionen. Denna funktion sorterar listan på plats och returnerar Ingen.

vårens moln

Inmatning

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

Produktion:

 ('Itika', 'Arshia', 'Peter', 'Parker') 

Använder sorterad()

I Python, använd den inbyggda sorted()-funktionen för att sortera en Tuple. Tuplen ska skickas som ett argument till sorted()-funktionen. Tupelobjekten sorteras (som standard) i stigande ordning i listan som returneras av funktionen. Vi kan använda en tupel för att konvertera denna listdatatyp till en tupel ().

Den omvända parametern till funktionen sorted() kan också ange sorteringsordningen. Stigande är standardsorteringsordningen. Objekten sorteras i fallande ordning när reverse=True är inställt. Vi kan också ange en nyckelfunktion vars returnerade värden används för att sortera objekt. Vi tar en tupel, tuple_, med heltalsvärden och sorterar den i stigande ordning i följande program.

Inmatning

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produktion:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

Nu sorterar vi tupeln i fallande ordning med samma funktion. Pass reverse=True till sorted()-funktionen för att sortera tupeln i fallande ordning.

Inmatning

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produktion:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

Sortera en tuppel baserat på en tangentfunktion

En nyckel är en funktion som tar ett värde och returnerar ett värde. För vart och ett av objekten i tupel används denna nyckelfunktion, och det returnerade värdet används för jämförelse för att sortera objekten. I följande program sorterar vi tupel av strängar baserat på längden på strängarna. I det här fallet kan vi använda len() inbyggd funktion som nyckel.

Inmatning

 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

Produktion:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

Sorteringslista över tuplar

Använder sorterad()

Låt oss titta på hur man sorterar en lista i Python med hjälp av en tupel. Tänk på följande scenario: vi vill sortera listan med tupler. Vi måste sortera tuplar enligt vilken nyckel som helst som ges till oss. Detta kan åstadkommas med funktionen sorted() som sorterar objekt med hjälp av en nyckel och lagrar nyckelindexet för sortering av de givna tuplarna. Python-utförandet av detta tillvägagångssätt är som följer:

Inmatning

skillnad i python
 # 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_)) 

Produktion:

 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

Använder Bubble Sort

Bubblesortering är bara en sorteringsalgoritm för att sortera en lista med valfritt antal element. Om den angränsande posten i en given lista är i felaktig ordning byter den ut dem. Den upprepar sedan denna process tills alla element har sorterats.

I det här exemplet kommer vi att använda bubbelsorteringsalgoritmen för att sortera en lista med tupler.

Inmatning

 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) 

Produktion:

 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]