Bagaimana cara mendapatkan semua nilai daftar dengan python?

Mari kita lihat dua pendekatan yang menggunakan himpunan dan daftar. Pendekatan pertama adalah verbose, tetapi berguna untuk melihat apa yang terjadi di setiap langkah

numbers = [1, 2, 2, 3, 3, 4, 5] def get_unique_numbers(numbers): list_of_unique_numbers = [] unique_numbers = set(numbers) for number in unique_numbers: list_of_unique_numbers.append(number) return list_of_unique_numbers print(get_unique_numbers(numbers)) # result: [1, 2, 3, 4, 5]

Mari kita lihat lebih dekat apa yang terjadi. Saya diberi daftar nomor, unique_numbers = [1, 2, 3, 4] 2. Saya meneruskan daftar ini ke dalam fungsi, unique_numbers = [1, 2, 3, 4] 3

Di dalam fungsi, saya membuat daftar kosong, yang pada akhirnya akan menampung semua nomor unik. Kemudian, saya menggunakan unique_numbers = [1, 2, 3, 4] _1 untuk mendapatkan nomor unik dari daftar unique_numbers = [1, 2, 3, 4] 2

unique_numbers = set(numbers)

Saya memiliki apa yang saya butuhkan. angka unik. Sekarang saya perlu memasukkan nilai-nilai ini ke dalam daftar. Untuk melakukannya, saya menggunakan perulangan for untuk mengulangi setiap angka di set

for number in unique_numbers: list_of_unique_numbers.append(number) _

Pada setiap iterasi saya menambahkan nomor saat ini ke daftar, unique_numbers = [1, 2, 3, 4] 6. Akhirnya, saya mengembalikan daftar ini di akhir program

Ada cara yang lebih singkat untuk menggunakan kumpulan dan daftar untuk mendapatkan nilai unik di Python. Itulah yang akan kita tangani selanjutnya

Pendekatan Lebih Singkat dengan Set

Semua kode yang ditulis dalam contoh di atas dapat diringkas menjadi satu baris dengan bantuan fungsi bawaan Python

numbers = [1, 2, 2, 3, 3, 4, 5] unique_numbers = list(set(numbers)) print(unique_numbers) # Result: [1, 2, 3, 4, 5] _

Meskipun kode ini terlihat sangat berbeda dari contoh pertama, idenya sama. Gunakan satu set untuk mendapatkan nomor unik. Kemudian, ubah set menjadi daftar

unique_numbers = list(set(numbers)) _

Sangat membantu untuk berpikir "luar dalam" saat membaca kode di atas. Kode terdalam akan dievaluasi terlebih dahulu. unique_numbers = [1, 2, 3, 4] _7. Kemudian, kode terluar dievaluasi. unique_numbers = [1, 2, 3, 4] _8

Opsi 2 – Menggunakan Iterasi untuk Mengidentifikasi Nilai Unik

Iterasi adalah pendekatan lain yang perlu dipertimbangkan

Ide utamanya adalah membuat daftar kosong yang berisi nomor unik. Kemudian, gunakan pengulangan for untuk setiap angka dalam daftar yang diberikan. Jika nomor tersebut sudah ada dalam unique list, maka lanjutkan ke iterasi berikutnya. Jika tidak, tambahkan nomornya

Mari kita lihat dua cara menggunakan iterasi untuk mendapatkan nilai unik dalam daftar, dimulai dengan yang lebih panjang

numbers = [20, 20, 30, 30, 40] def get_unique_numbers(numbers): unique = [] for number in numbers: if number in unique: continue else: unique.append(number) return unique print(get_unique_numbers(numbers)) # Result: [20, 30, 40]

Inilah yang terjadi di setiap langkah. Pertama, saya diberi daftar nomor, unique_numbers = [1, 2, 3, 4] 2. Saya meneruskan daftar ini ke fungsi saya, unique_numbers = [1, 2, 3, 4] 3

Di dalam fungsi, saya membuat daftar kosong, numbers = [1, 2, 2, 3, 3, 4, 5] def get_unique_numbers(numbers): list_of_unique_numbers = [] unique_numbers = set(numbers) for number in unique_numbers: list_of_unique_numbers.append(number) return list_of_unique_numbers print(get_unique_numbers(numbers)) # result: [1, 2, 3, 4, 5] 1. Akhirnya, daftar ini akan menampung semua nomor unik

Saya menggunakan perulangan for untuk mengulangi setiap angka dalam daftar unique_numbers = [1, 2, 3, 4] 2

for number in numbers: if number in unique: continue else: unique.append(number)

Bersyarat di dalam loop memeriksa untuk melihat apakah jumlah iterasi saat ini ada dalam daftar numbers = [1, 2, 2, 3, 3, 4, 5] def get_unique_numbers(numbers): list_of_unique_numbers = [] unique_numbers = set(numbers) for number in unique_numbers: list_of_unique_numbers.append(number) return list_of_unique_numbers print(get_unique_numbers(numbers)) # result: [1, 2, 3, 4, 5] 1. Jika demikian, loop berlanjut ke iterasi berikutnya. Jika tidak, nomor tersebut akan ditambahkan ke daftar ini

Inilah poin pentingnya. hanya nomor unik yang ditambahkan. Setelah loop selesai, maka saya mengembalikan numbers = [1, 2, 2, 3, 3, 4, 5] def get_unique_numbers(numbers): list_of_unique_numbers = [] unique_numbers = set(numbers) for number in unique_numbers: list_of_unique_numbers.append(number) return list_of_unique_numbers print(get_unique_numbers(numbers)) # result: [1, 2, 3, 4, 5] 1 yang berisi semua nomor unik

Pendekatan Lebih Singkat dengan Iterasi

Ada cara lain untuk menulis fungsi dalam baris yang lebih sedikit

numbers = [20, 20, 30, 30, 40] def get_unique_numbers(numbers): unique = [] for number in numbers: if number not in unique: unique.append(number) return unique #Result: [20, 30, 40]

Perbedaannya adalah kondisional. Kali ini diatur untuk membaca seperti ini. jika nomornya tidak ada di numbers = [1, 2, 2, 3, 3, 4, 5] def get_unique_numbers(numbers): list_of_unique_numbers = [] unique_numbers = set(numbers) for number in unique_numbers: list_of_unique_numbers.append(number) return list_of_unique_numbers print(get_unique_numbers(numbers)) # result: [1, 2, 3, 4, 5] 1, maka tambahkan

unique_numbers = [1, 2, 3, 4] _0

Jika tidak, loop akan berpindah ke nomor berikutnya dalam daftar, unique_numbers = [1, 2, 3, 4] 2

Hasilnya sama. Namun, terkadang lebih sulit untuk memikirkan dan membaca kode saat boolean ditiadakan

Ada cara lain untuk menemukan nilai unik dalam daftar Python. Tetapi Anda mungkin akan menemukan diri Anda menggunakan salah satu pendekatan yang tercakup dalam artikel ini

Saya menulis tentang belajar memprogram, dan cara terbaik untuk melakukannya di amymhaddad. com. Ikuti saya di Twitter. @amymhaddad



IKLAN

IKLAN

IKLAN

Amy Haddad

Pemrogram dan penulis. cara belajar efektif. com. dailyskillplanner. com

Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih

Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai

Postingan terbaru

LIHAT SEMUA