Saya perlu menulis fungsi sort_contacts yang menggunakan kamus kontak sebagai parameter dan mengembalikan daftar kontak yang diurutkan, di mana setiap kontak adalah Tuple.

Kamus kontak yang akan diteruskan ke fungsi memiliki nama kontak sebagai kuncinya, dan nilainya adalah tuple yang berisi nomor telepon dan email untuk kontak tersebut.

kontak = {nama: (telepon, email), nama: (telepon, email), dll.}

Fungsi sort_contacts kemudian harus membuat daftar tupel baru yang diurutkan (berdasarkan nama belakang) yang mewakili semua info kontak (satu tupel untuk setiap kontak) yang ada di kamus. Kemudian harus mengembalikan daftar ini ke fungsi panggilan.

Misalnya, diberikan argumen kamus tentang:

    {("Horney, Karen": ("1-541-656-3010", "karen@psychoanalysis.com"),
    "Welles, Orson": ("1-312-720-8888", "orson@notlive.com"),
    "Freud, Anna": ("1-541-754-3010", "anna@psychoanalysis.com")}

Sort_contacts harus mengembalikan ini:

    [('Freud, Anna', '1-541-754-3010', 'anna@psychoanalysis.com'), 
    ('Horney, Karen', '1-541-656-3010', 'karen@psychoanalysis.com'), 
    ('Welles, Orson', '1-312-720-8888', 'orson@notlive.com')]**
0
eFun 20 Agustus 2017, 04:53

2 jawaban

Jawaban Terbaik

Anda cukup menambahkan key dan value dan sort:

>>> sorted((k,)+v for k, v in contacts.items())
[('Freud, Anna', '1-541-754-3010', 'anna@psychoanalysis.com'),
 ('Horney, Karen', '1-541-656-3010', 'karen@psychoanalysis.com'),
 ('Welles, Orson', '1-312-720-8888', 'orson@notlive.com')]

Jika Anda tidak peduli dengan tupel bersarang maka Anda cukup:

>>> sorted(contacts.items())
[('Freud, Anna', ('1-541-754-3010', 'anna@psychoanalysis.com')),
 ('Horney, Karen', ('1-541-656-3010', 'karen@psychoanalysis.com')),
 ('Welles, Orson', ('1-312-720-8888', 'orson@notlive.com'))]
3
AChampion 20 Agustus 2017, 01:57
def sort_contacts(contacts):
    real_contacts=[]
    function_keys=contacts.keys()

    for key in sorted(function_keys):
        data = (key, contacts[key][0], contacts[key][1])
        real_contacts.append(data)

    return real_contacts
-1
Stephen Rauch 5 Maret 2018, 02:18