如何使用 python 计算文本文件中的重复字符
how to count repeated characters in text file using python
我是 python 的初学者,我正在尝试在 python 中制作一个小程序来计算文本文件中的重复字符
这是代码
import string
def count_char(text,char):
count = 0
for c in text:
if c == char:
count +=1
return count
filename = raw_input("Enter File name:")
with open(filename) as f:
text=f.read()
print(count_char(text,"r"))
但它打印输出为
>> 0
请告诉我我的代码有什么问题?
将 return 移到 for 循环之外。目前仅进行 1 次迭代。
如果要统计给定字符在字符串(或文件)中出现了多少次,可以使用计数方法:
with open(filename) as f:
text = f.read()
print(text.count('r'))
"return count"中的识别问题
def count_char(text, char):
count = 0
text = list(text)
for c in text:
if c == char:
count += 1
return count
filename = raw_input("Enter File name:")
with open(filename) as f:
text = f.read()
print(count_char(text, "r"))
您可以使用集合来获取所有字符频率的字典,并查看一个字符重复了多少次。
from collections import Counter
with open(file) as f:
c = Counter()
for x in f:
c += Counter(x.strip())
示例:数据将这样存储:
Counter({'a': 3, ' ': 3, 'c': 3, 'b': 3, 'e': 3, 'd': 3, 'g': 3, 'f': 3})
我是 python 的初学者,我正在尝试在 python 中制作一个小程序来计算文本文件中的重复字符
这是代码
import string
def count_char(text,char):
count = 0
for c in text:
if c == char:
count +=1
return count
filename = raw_input("Enter File name:")
with open(filename) as f:
text=f.read()
print(count_char(text,"r"))
但它打印输出为
>> 0
请告诉我我的代码有什么问题?
将 return 移到 for 循环之外。目前仅进行 1 次迭代。
如果要统计给定字符在字符串(或文件)中出现了多少次,可以使用计数方法:
with open(filename) as f:
text = f.read()
print(text.count('r'))
"return count"中的识别问题
def count_char(text, char):
count = 0
text = list(text)
for c in text:
if c == char:
count += 1
return count
filename = raw_input("Enter File name:")
with open(filename) as f:
text = f.read()
print(count_char(text, "r"))
您可以使用集合来获取所有字符频率的字典,并查看一个字符重复了多少次。
from collections import Counter
with open(file) as f:
c = Counter()
for x in f:
c += Counter(x.strip())
示例:数据将这样存储:
Counter({'a': 3, ' ': 3, 'c': 3, 'b': 3, 'e': 3, 'd': 3, 'g': 3, 'f': 3})