Hitung jumlah karakter duplikat dalam string python

Dalam tutorial ini, kita akan belajar menghitung kemunculan karakter tertentu dalam sebuah string dengan Python. Kami akan menggunakan kamus python dan mencoba menyelesaikan beberapa masalah berdasarkan string. Kami akan menemukan karakter yang berbeda, karakter diskrit, karakter unik dari string dan juga menghitung jumlah kata dalam string

Hitung kemunculan karakter yang diberikan dalam sebuah String dengan Python

string = 'Python Programming'
dictionary = {}
for char in string:
    if( char in dictionary.keys()):
        dictionary[char] += 1
    else:
        dictionary[char]=1
for char in dictionary:
    print(char,' -> ',dictionary[char])

Keluaran

P -> 2
y -> 1
t -> 1
h -> 1
o -> 2
n -> 2
  -> 1
r -> 2
g -> 2
a -> 1
m -> 2
i -> 1
_
  • Pertimbangkan sebuah string (contoh. 'Pemrograman Python') dan buat kamus kosong
  • Gunakan karakter dalam string sebagai kunci dan hitung sebagai nilai
  • Untuk setiap karakter dalam string, jika karakter ada di kamus sebagai kunci, tingkatkan nilainya yang sesuai. Jika tidak, tambahkan karakter baru ke kamus sebagai kunci dan tetapkan nilai hitungannya sebagai satu

Jadi sekarang, kami telah membuat kamus python yang berisi informasi tentang string. Mari kita lihat apa yang dapat kita lakukan dengan menggunakan informasi ini

Metode #5. Menggunakan re + findall() Regular Expressions dapat membantu kita mencapai banyak tugas pengkodean yang terkait dengan string. Mereka juga dapat memudahkan kita dalam mencapai tugas menemukan kemunculan elemen dalam string.  

Terkadang Anda mungkin perlu menghitung karakter berulang dalam string dengan Python. Ada beberapa cara untuk melakukan ini dengan Python. Pada artikel ini, kita akan belajar cara menghitung karakter berulang dalam string dengan Python. Kami akan melihat tiga cara untuk menghitung karakter berulang dalam string python – menggunakan kamus, menggunakan pemahaman daftar, dan menggunakan koleksi


Cara Menghitung Karakter Berulang dalam String dengan Python

Berikut adalah langkah-langkah untuk menghitung karakter berulang dalam string python. Katakanlah Anda memiliki string yang disebut 'hello world'


1. Menggunakan kamus

Dalam hal ini, kami memulai kamus kosong. Kemudian kami mengulangi karakter string input satu per satu. Untuk setiap karakter, kami menambah jumlah pasangan kunci-nilai di mana kunci adalah karakter yang diberikan. Jika key yang diberikan tidak ada maka kita membuat key-value pair baru dengan key sebagai karakter dan value sebagai 1. Jadi pada saat Anda telah mengulang seluruh string, Anda memiliki kamus dari semua huruf unik sebagai kunci dan jumlahnya sebagai nilai. Berikut adalah kode untuk melakukan hal yang sama

#!/usr/bin/env python

input = "hello world"

d = {}

for c in input:
    try:
        d[c] += 1
    except:
        d[c] = 1

for k in d.keys():
    print "%s: %d" % (k, d[k])


2. Menggunakan Daftar dan Set

Anda juga dapat menggunakan pemahaman Daftar untuk mengulangi string dan membuat satu set tupel di mana item pertama adalah karakter dan item kedua adalah hitungannya. Berikut adalah contoh untuk membuat daftar karakter dalam string. Dalam kedua kasus berikut, fungsi set akan mengonversi string menjadi daftar karakter uniknya, termasuk spasi

>>> s='hello world'

>>> [(i,s.count(i)) for i in set(s)]
[(' ', 1), ('e', 1), ('d', 1), ('h', 1), ('l', 3), ('o', 2), ('r', 1), ('w', 1)]

Kita juga dapat melakukan hal yang sama untuk membuat kamus pasangan kunci-nilai di mana kuncinya adalah karakter unik dan nilainya dihitung dalam string input

>>> s='hello world'

>>> {i:s.count(i) for i in set(s)}
{' ': 1, 'e': 1, 'd': 1, 'h': 1, 'l': 3, 'o': 2, 'r': 1, 'w': 1}
_


3. Menggunakan Koleksi

Koleksi adalah subkelas dict tetapi ketika Anda mencari kunci dan tidak ditemukan, koleksi akan membuatnya untuk Anda, dengan nilai 0. Ada beberapa jenis koleksi yang tersedia, yang paling populer adalah defaultdict(int) dan defaultdict(list) di mana Anda tidak perlu menulis kode untuk menyetel nilai default

import collections

input='hello world'

d = collections.defaultdict(int)
for c in input:
    d[c] += 1

for c in sorted(d, key=d.get, reverse=True):
  print '%s %6d' % (c, d[c])

Dalam kode di atas, kami membuat koleksi 'd', yang perlu Anda lakukan hanyalah mengulangi string input Anda dan menambah nilai dict yang kuncinya sama dengan karakter yang diberikan. Setelah Anda mengulang seluruh string, Anda akan memiliki jumlah semua karakter unik dalam string, termasuk spasi putih

Pada artikel ini, kami telah mempelajari tiga cara berbeda untuk menghitung karakter berulang dalam string python. Anda dapat menggunakan salah satu dari mereka sesuai kenyamanan Anda. Mereka semua bekerja dengan baik bahkan dengan senar besar. Umumnya, kode ini merupakan bagian dari fungsi atau modul yang lebih besar dalam aplikasi atau situs web python. Sehingga Anda dapat memodifikasinya sesuai kebutuhan Anda

Untuk menemukan karakter duplikat dari string, kami menghitung kemunculan setiap karakter dalam string. Jika count lebih besar dari 1, ini menyiratkan bahwa sebuah karakter memiliki entri duplikat dalam string. Pada contoh di atas, karakter yang disorot dengan warna hijau adalah karakter duplikat

Bagaimana cara menghitung jumlah karakter berulang dalam string Python?

Menggunakan daftar menggunakan metode count() . Frekuensi karakter atau substring dalam string dapat dihitung menggunakan fungsi count() dari bahasa Python. Sebagai nilai kembalian, ini hanya memberikan jumlah kejadian.

Bagaimana Anda menghitung karakter berulang dalam sebuah string?

Pendekatan. .
Temukan kemunculan karakter 'a' dalam string yang diberikan
Temukan No. pengulangan yang diperlukan untuk menemukan 'a' kejadian
Lipat gandakan kemunculan string tunggal ke No. .
Jika diberikan n bukan kelipatan dari ukuran string yang diberikan maka kita akan menemukan kemunculan 'a' di substring yang tersisa

Bagaimana Anda menemukan karakter duplikat dalam string yang diberikan dengan Python?

Diberi string, temukan semua karakter duplikat yang mirip satu sama lain. .
Buat kamus menggunakan metode Penghitung yang memiliki string sebagai kunci dan frekuensinya sebagai nilai
Deklarasikan variabel temp
Cetak semua indeks dari kunci yang memiliki nilai lebih besar dari 1