本文概述
- Python3
- Python3
例子:
Input :str[] = "Apple Mango Orange Mango Guava Guava Mango"
Output : frequency of Apple is : 1
frequency of Mango is : 3
frequency of Orange is : 1
frequency of Guava is : 2Input :str = "Train Bus Bus Train Taxi Aeroplane Taxi Bus"
Output : frequency of Train is : 2
frequency of Bus is : 3
frequency of Taxi is : 2
frequency of Aeroplane is : 1
使用list()的方法1:
1.通过在python中使用带分隔符的分隔功能(即string.split())将字符串分成包含单词的列表。
Note:
string_name.split(separator) method is used to split the string
by specified separator(delimiter) into the list.
If delimiter is not provided then white space is a separator. For example:
CODE: str='This is my book'
str.split()
OUTPUT : ['This', 'is', 'my', 'book']
2.初始化一个新的空列表。
3.现在, 如果新列表中不存在该单词, 则将该单词附加到先前字符串中的新列表中。
4.遍历新列表, 并使用计数函数(即string.count(newstring [iteration]))在每次迭代中查找单词的出现频率。
Note:
string_name.count(substring) is used to find no. of occurrence of
substring in a given string.For example:
CODE: str='Apple Mango Apple'
str.count('Apple')
str2='Apple'
str.count(str2)
OUTPUT : 2
2
Python3
# Python code to find frequency of each word
def freq( str ):# break the string into list of words
str = str .split()
str2 = []# loop till string values present in list str
for i in str :# checking for the duplicacy
if i not in str2:# insert value in str2
str2.append(i) for i in range ( 0 , len (str2)):# count the frequency of each word(present
# in str2) in str and print
print ( 'Frequency of' , str2[i], 'is :' , str .count(str2[i]))def main():
str = 'apple mango apple orange orange apple guava mango mango'
freq( str )if __name__ = = "__main__" :
main()# call main function
输出如下:
Frequency ofappleis :3
Frequency ofmangois :3
Frequency oforangeis :2
Frequency ofguavais :1
使用set()的方法2:
1.通过在Python中使用带分隔符的分隔功能(即string.split())将字符串分成包含单词的列表。
2.采用set()删除重复项并给出一组唯一单词的方法
3.遍历set并使用count函数(即string.count(newstring [iteration]))来查找每次迭代中单词的出现频率。
Python3
# Python3 code to find frequency of each word
# function for calculating the frequency
def freq( str ):# break the string into list of words
str_list = str .split()# gives set of unique words
unique_words = set (str_list)for words in unique_words :
print ( 'Frequency of ' , words , 'is :' , str_list.count(words))# driver code
if __name__ = = "__main__" :str = 'apple mango apple orange orange apple guava mango mango'# calling the freq function
freq( str )
输出如下:
Frequency ofappleis :3
Frequency ofmangois :3
Frequency oforangeis :2
Frequency ofguavais :1
方法3(使用字典)
# Find frequency of each word in a string in Python
# using dictionary.def count(elements):
# check if each word has '.' at its last. If so then ignore '.'
if elements[ - 1 ] = = '.' :
elements = elements[ 0 : len (elements) - 1 ]# if there exists a key as "elements" then simply
# increase its value.
if elements in dictionary:
dictionary[elements] + = 1# if the dictionary does not have the key as "elements"
# then create a key "elements" and assign its value to 1.
else :
dictionary.update({elements: 1 })# driver input to check the program.Sentence = "Apple Mango Orange Mango Guava Guava Mango"# Declare a dictionary
dictionary = {}# split all the word of the string.
lst = Sentence.split()# take each word from lst and pass it to the method count.
for elements in lst:
count(elements)# print the keys and its corresponding values.
for allKeys in dictionary:
print ( "Frequency of " , allKeys, end = " " )
print ( ":" , end = " " )
print (dictionary[allKeys], end = " " )
print () # This code is contributed by Ronit Shrivastava.
【在Python中查找字符串中每个单词的频率】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- 算法题(使用Map查找链表中的循环长度)
- UNIX中的绝对和相对路径名简要介绍
- 高级数据结构(二项堆实现原理详细介绍)
- Python –两个变量之间的Pearson相关检验
- GCC和G++之间有什么区别()
- 朴素的模式搜索算法详细介绍
- 8051微控制器的引脚图详细介绍
- Java程序常见问题分析|S14(构造函数)
- 如何在Python 3中使用列表作为字典的键()