Bagaimana Anda mendapatkan nilai berulang di python?

Gunakan operator perkalian untuk membuat daftar dengan nilai yang sama diulang N kali dengan Python, mis. g. my_list = ['abc'] * 3. Hasil ekspresi akan menjadi daftar baru yang berisi nilai yang ditentukan N kali

Item yang Anda tentukan dalam daftar akan dimuat N kali dalam daftar baru yang dikembalikan oleh operasi

Pastikan untuk membungkus nilai yang ingin Anda ulangi dalam daftar

Satu hal yang harus diperhatikan adalah - jika Anda menggunakan pendekatan ini dengan wadah yang dapat berubah seperti daftar atau kamus, semuanya menunjuk ke lokasi yang sama di memori dan memiliki referensi yang sama

Kami membuat daftar yang berisi 3 daftar bersarang. Namun, perhatikan bahwa menambahkan item ke salah satu daftar, menambahkan item di ketiganya

Ini karena semua daftar bersarang mengarah ke lokasi yang sama di memori

Salah satu cara untuk menghindari masalah ini adalah dengan menggunakan pemahaman daftar

Kelas ini biasanya digunakan untuk mengulang beberapa kali dalam for loop dan mengambil parameter berikut

NameDescriptionstartInteger yang mewakili awal rentang (default ke 0)stopNaik ke, tetapi tidak termasuk integer yang disediakanstepRange akan terdiri dari setiap N angka dari start ke stop (default ke 1)

Jika Anda hanya meneruskan satu argumen ke konstruktor range(), itu dianggap sebagai nilai untuk parameter stop

Anda juga dapat menentukan item dalam daftar, seperti yang kami lakukan pada contoh pertama, dan kami masih membuat daftar dengan 3 daftar bersarang yang berbeda

Anda juga dapat menggunakan metode for_1 untuk membuat daftar yang berisi item yang sama sebanyak N kali

Untuk membuat daftar yang berisi item yang sama sebanyak N kali

  1. Impor modul for_2
  2. Panggil metode for_3, mis. g. for_4
  3. Gunakan kelas for_5 untuk mengonversi objek menjadi daftar

Metode ini digunakan untuk membuat iterator yang mengembalikan objek yang disediakan sebanyak N kali

Metode ini mengambil 2 argumen berikut

NameDescriptionfor_6Objek yang akan dikembalikan dari iteratorfor7Berapa kali objek harus dikembalikan dari iterator (opsional)

Jika Anda tidak memberikan nilai untuk argumen for_7, iterator berjalan tanpa batas

Perhatikan bahwa pendekatan ini juga mengalami masalah yang sama saat mencoba membuat daftar objek yang dapat diubah

Anda dapat menggunakan pemahaman daftar untuk menghindari hal ini

Semua daftar bersarang yang kami buat mengarah ke lokasi berbeda di memori, jadi memperbarui satu tidak mengubah yang lain

Solusi sederhananya adalah mendapatkan iterasi melalui daftar dengan indeks menggunakan pemahaman daftar dan memeriksa kemunculan lain dari setiap elemen yang ditemui menggunakan fungsi index(). Kompleksitas waktu dari solusi ini akan menjadi kuadratik, dan kode tidak menangani elemen berulang dalam output

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    nums = [1, 5, 2, 1, 4, 5, 1]

 

    dup = [x for i, x in enumerate(nums) if i != bilangan. indeks(x)]

    cetak(dup)  # [1, 5, 1]

 

Unduh  Jalankan Kode

2. Menggunakan operator In

Alternatifnya, Anda dapat menggunakan slicing dengan operator in untuk mencari di bagian daftar yang sudah dikunjungi. Kompleksitas waktu dari solusi tetap kuadrat dan memungkinkan elemen berulang dalam output

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    nums = [1, 5, 2, 1, 4, 5, 1]

 

    dup = [x for i, x in enumerate(nums) if x in nums[:i]]

    cetak(dup)  # [1, 5, 1]

 

Unduh  Jalankan Kode

3. Menggunakan Set (Efisien)

Untuk meningkatkan performa dan menyelesaikan pekerjaan dalam waktu linier, Anda dapat menggunakan struktur data set

1

2

3

4

5

6

7

8

9

jika __nama__ == '__main__'.

 

    nums = [1, 5, 2, 1, 4, 5, 1]

 

    mengunjungi = set()

    dup = [x for x in nums if x in visited or (visited.tambahkan(x) atau False)]

 

    cetak(dup)  # [1, 5, 1]

 

Unduh  Jalankan Kode

 
Untuk mendapatkan setiap duplikat hanya sekali, Anda dapat menggunakan pemahaman set, seperti yang ditunjukkan di bawah ini

1

2

3

4

5

6

7

8

9

jika __nama__ == '__main__'.

 

    nums = [1, 5, 2, 1, 4, 5, 1]

 

    mengunjungi = set()

    dup = {x for x in nums if x in visited or (visited.tambahkan(x) atau False)}

 

    cetak(dup)  # {1, 5}

 

Unduh  Jalankan Kode

4. Menggunakan fungsi count()

Inilah solusi alternatif menggunakan fungsi count(), yang menyediakan cara sederhana dan bersih untuk mengidentifikasi duplikat dalam daftar. Ini tidak disarankan untuk daftar besar karena kompleksitas waktunya kuadrat

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    nums = [1, 5, 2, 1, 4, 5, 1]

 

    dup = {x for x in nums if nums.hitung(x) > 1}

    cetak(dup)  # {1, 5}

 

Unduh  Jalankan Kode

5. Menggunakan modul iteration_utilities

Terakhir, modul iteration_utilities menawarkan fungsi duplicates, yang menghasilkan elemen duplikat. Anda dapat menggunakan ini sebagai

Bagaimana Anda mengulang nilai dalam Python?

repeat() Modul itertools menyediakan fungsi repeat() untuk melatih pengulangan dengan Python. Di repeat(), kami menyediakan data serta berapa kali data akan diulang.

Bagaimana Anda menunjukkan nilai berulang?

Temukan dan hapus duplikat .
Pilih sel yang ingin Anda periksa duplikatnya. .
Klik Beranda > Pemformatan Bersyarat > Sorot Aturan Sel > Nilai Duplikat
Dalam kotak di samping nilai, pilih pemformatan yang ingin Anda terapkan ke nilai duplikat, lalu klik OK

Bagaimana cara menemukan elemen berulang dalam string Python?

Buat sebuah String dan simpan dalam sebuah variabel. Untuk membandingkan karakter yang dipilih dengan karakter yang tersisa dalam string, loop dalam akan digunakan. Jika kecocokan ditemukan, hitungan dinaikkan 1. Jika hitungan karakter lebih dari 1 setelah loop dalam selesai, ada karakter duplikat dalam string

Bagaimana Anda mengulang nomor dalam daftar dengan Python?

Menggunakan * Operator . Saat kita mengalikan daftar dengan angka apa pun menggunakan operator *, itu mengulang elemen dari daftar yang diberikan.