Menu
Coddy logo textTech

Tekrar Görevi - Lambda ile Sıralama

Coddy'nin Python Journey'sinin Logic & Flow bölümünün bir parçası — ders 59 / 78.

Lambda fonksiyonları, farklı senaryolarda sıralamayı özelleştirmek için sorted() fonksiyonu ile birlikte kullanıldığında inanılmaz derecede faydalıdır. İşte birkaç örnek:

Dizeleri Uzunluğa Göre Sıralama:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Çıktı: ['Bob', 'Alice', 'Diana', 'Charlie']

Sözlükleri Değerlere Göre Sıralama:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Çıktı: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

Sayıları Mutlak Değere Göre Sıralama:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Çıktı: [-10, 15, -20, 25]

Demetleri Birden Çok Ölçüte Göre Sıralama:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Çıktı: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

Görev

Kolay

Argüman olarak bir demet listesi olan data alan, sort_tuples adında bir fonksiyon oluşturun. data içindeki her bir demet iki öğe içerir: bir dize ve bir sayı. Fonksiyon, demet listesini ikinci öğeye (sayıya) göre artan düzende sıralamak için bir lambda fonksiyonu ile birlikte sorted() fonksiyonunu kullanmalıdır. Fonksiyon, sıralanmış demet listesini döndürmelidir.

Kopya kağıdı

Dizeleri Uzunluğa Göre Sıralama:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Çıktı: ['Bob', 'Alice', 'Diana', 'Charlie']

Sözlükleri Değerlere Göre Sıralama:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Çıktı: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

Sayıları Mutlak Değere Göre Sıralama:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Çıktı: [-10, 15, -20, 25]

Demetleri Birden Fazla Kritere Göre Sıralama:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Çıktı: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]

Kendin dene

def sort_tuples(data):
    # Kodunuzu buraya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler