Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program Python untuk mendapatkan peratusan kekerapan perkataan

Program Python untuk mendapatkan peratusan kekerapan perkataan

王林
王林ke hadapan
2023-09-08 18:29:021823semak imbas

Program Python untuk mendapatkan peratusan kekerapan perkataan

Dalam artikel ini, kita akan belajar cara mendapatkan kekerapan perkataan sebagai peratusan dalam Python.

Andaikan kami telah memperoleh senarai input rentetan. Sekarang, kita akan mencari peratusan setiap perkataan dalam senarai rentetan input yang diberikan.

Formula

(Occurrence of X word / Total words) * 100

Kaedah penggunaan

  • Gunakan fungsi sum(), Counter(), join() dan split()

  • Gunakan fungsi join(), split() dan count()

  • Gunakan fungsi countOf() modul operator.

Kaedah 1: Gunakan fungsi sum(), Counter(), join() dan split()

join() ialah fungsi rentetan dalam Python yang digunakan untuk menyertai elemen jujukan yang dipisahkan oleh pembatas rentetan untuk membentuk rentetan.

Fungsi

Counter() ialah subkelas yang mengira bilangan objek boleh cincang. Ia secara tersirat mencipta jadual cincang objek boleh lelar apabila dipanggil/dipanggil.

Algoritma (langkah)

Berikut ialah algoritma/langkah untuk melaksanakan tugasan yang diperlukan:

  • Gunakan kata kunci import untuk mengimport fungsi Kaunter daripada modul koleksi.

  • Buat pembolehubah untuk menyimpan rentetan senarai input dan mencetak senarai.

  • Gunakan fungsi join() untuk menyertai semua elemen rentetan senarai input.

  • Pisah rentetan bercantum ke dalam senarai perkataan menggunakan fungsi split() (pecah rentetan ke dalam senarai. Anda boleh mentakrifkan pembatas; pembatas lalai ialah sebarang aksara ruang putih) dan dapatkan perkataan menggunakan Counter( ) berfungsi Frekuensi sebagai pasangan kunci-nilai

  • Gunakan fungsi values() untuk mendapatkan semua nilai (frekuensi/kira) daripada Counter dan gunakan fungsi sum() untuk mendapatkan jumlahnya (mengembalikan jumlah semua item dalam lelaran).

  • Gunakan fungsi item() untuk mendapatkan peratusan setiap perkataan dalam kata balas di atas (mengembalikan objek paparan, iaitu ia mengandungi pasangan nilai kunci kamus, sebagai tupel dalam senarai).

  • Cetak peratusan setiap perkataan dalam senarai input.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut mengembalikan peratusan setiap perkataan dalam senarai rentetan input yang diberikan menggunakan fungsi sum(), Counter(), join() dan split() –

# importing a Counter function from the collections module
from collections import Counter

# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]
print("Input list:\n", inputList)

# Joining all the string elements of the list using the join() function
join_string = " ".join(i for i in inputList)

# splitting the joined string into a list of words and getting the

# frequency of words as key-value pairs using Counter() function

counter_words = Counter(join_string.split())
# getting all the values(frequencies/counts) from counter and

# finding the total sum of them
total_sum = sum(counter_words.values())

# getting the percentage of each word from the above counter words
res_percentage = {key: value / total_sum for key,
value in counter_words.items()}

# printing the percentage of each word from the input list
print("Percentage of each word from the input list:\n", res_percentage)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Input list:
['hello tutorialspoint', 'python codes', 'tutorialspoint for python', 'see python codes tutorialspoint']
Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Kaedah 2: Gunakan fungsi join(), split() dan count()

Algoritma (langkah)

Berikut ialah algoritma/langkah untuk melaksanakan tugasan yang diperlukan:

  • Buat kamus kosong untuk menyimpan peratusan hasil/kekerapan jangka.

  • Gunakan untuk gelung untuk lelaran melalui senarai perkataan.

  • Gunakan jika pernyataan bersyarat untuk menyemak sama ada elemen semasa tiada dalam kekunci kamus, gunakan fungsi keys().

  • Jika keadaan di atas adalah benar, gunakan fungsi count() untuk mendapatkan kiraan kunci (perkataan).

  • Bahagikannya dengan bilangan perkataan untuk mendapatkan kekerapan perkataan semasa dan simpannya sebagai kunci dalam kamus baharu yang dicipta di atas.

  • Cetak peratusan setiap perkataan dalam senarai input.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut mengembalikan peratusan setiap perkataan dalam senarai rentetan input yang diberikan menggunakan fungsi join(), split() dan count() –

# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]

# joining all the elements of the list using join()
join_string = " ".join(i for i in inputList)

# splitting the joined string into a list of words
listOfWords = join_string.split()

# Creating an empty dictionary for storing the resultant percentages
resDict = dict()

# traversing through the list of words
for item in listOfWords:
   
   # checking whether the current element is not in the keys of a dictionary
   if item not in resDict.keys():
      
      # getting the percentage of a current word if the condition is true
      resDict[item] = listOfWords.count(item)/len(listOfWords)

# printing the percentage of each word from the input list
print("Percentage of each word from the input list:\n", resDict)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Kaedah 3: Gunakan fungsi countOf() modul operator

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut menggunakan fungsi countOf() untuk mengembalikan peratusan setiap perkataan dalam senarai rentetan input yang diberikan -

import operator as op
# input list of strings
inputList = ["hello tutorialspoint", "python codes", "tutorialspoint for python", "see python codes tutorialspoint"]

# joining all the elements of list using join()
join_string = " ".join(i for i in inputList)

# splitting the joined string into list of words
listOfWords = join_string.split()
resDict = dict()
for item in listOfWords:
   
   # checking whether the current element is not in the keys of dictionary
   if item not in resDict.keys():
      resDict[item] = op.countOf(listOfWords,   item)/len(listOfWords)
print("Percentage of each word from the input list:\n", resDict)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Percentage of each word from the input list:
{'hello': 0.09090909090909091, 'tutorialspoint': 0.2727272727272727, 'python': 0.2727272727272727, 'codes': 0.18181818181818182, 'for': 0.09090909090909091, 'see': 0.09090909090909091}

Kesimpulan

Dalam artikel ini, kami mempelajari tiga kaedah Python berbeza untuk mengira peratus kekerapan perkataan. Kami juga mempelajari cara menggunakan fungsi baru modul operator countOf() untuk mendapatkan kekerapan elemen senarai.

Atas ialah kandungan terperinci Program Python untuk mendapatkan peratusan kekerapan perkataan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam