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
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
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] _0Jika 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
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