如何查找字符数最多的书籍?Python数据读取后处理遇阻
如何查找字符数最多的书籍
你的现有代码已经成功读取了所有TXT文件内容,但缺少对文件名和字符数的关联追踪,以及后续的最大值筛选逻辑。以下是修改后的完整代码,实现查找字符数最多书籍的需求:
import glob files = glob.glob('sample/*.txt') # 存储每个书籍的字符数与对应文件名 book_stats = [] for file in files: with open(file, 'r', encoding='utf8') as infile: content = infile.read().replace('\n', ' ') char_count = len(content) # 将字符数和文件名绑定存入列表 book_stats.append((char_count, file)) # 筛选出字符数最多的条目 max_entry = max(book_stats, key=lambda item: item[0]) print(f"字符数最多的书籍:{max_entry[1]}") print(f"总字符数:{max_entry[0]}")
代码说明:
- 新增
book_stats列表,用于保存每个文件的字符数和文件名组成的元组,确保我们能对应上哪本书的字符数最多。 - 使用
len(content)直接计算读取内容的总字符数(包含你替换后的空格)。 - 通过
max()函数配合lambda表达式,快速找到字符数最大的条目。
如果需要保留书籍内容用于后续处理,可以修改元组结构,加入内容字段:
book_stats.append((char_count, file, content))
之后可通过max_entry[2]获取该书籍的完整内容。
内容的提问来源于stack exchange,提问作者Ssangkal
相关产品推荐
相关产品推荐

