我正在尝试计算 txt 文件中的所有字母,然后按降序显示

2023-11-24

正如标题所说:

到目前为止,这就是我的代码确实可以工作的地方,但是我无法按顺序显示信息。目前它只是随机显示信息。

def frequencies(filename):
    infile=open(filename, 'r')
    wordcount={}
    content = infile.read()
    infile.close()
    counter = {}
    invalid = "‘'`,.?!:;-_\n—' '"

    for word in content:
        word = content.lower()
        for letter in word:
            if letter not in invalid:
                if letter not in counter:
                    counter[letter] = content.count(letter)
                    print('{:8} appears {} times.'.format(letter, counter[letter]))

任何帮助将不胜感激。


字典是无序的数据结构。另外,如果您想计算一组数据中的某些项目,您最好使用collections.Counter()对于这个目标来说,这是更加优化和Python化的。

然后你就可以使用Counter.most_common(N)为了打印最多NCounter 对象中的常见项目。

另外关于文件的打开,您可以简单地使用with自动在块末尾关闭文件的语句。最好不要在函数中打印最终结果,您可以通过生成预期的行然后在需要时打印它们来使函数成为生成器。

from collections import Counter

def frequencies(filename, top_n):
    with open(filename) as infile:
        content = infile.read()
    invalid = "‘'`,.?!:;-_\n—' '"
    counter = Counter(filter(lambda x: not invalid.__contains__(x), content))
    for letter, count in counter.most_common(top_n):
        yield '{:8} appears {} times.'.format(letter, count)

然后使用 for 循环来迭代生成器函数:

for line in frequencies(filename, 100):
    print(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我正在尝试计算 txt 文件中的所有字母,然后按降序显示 的相关文章

随机推荐

  • HAVING 不带 GROUP BY

    根据标准 SQL 以下可能吗 为了符合标准 如果还没有 需要进行哪些最小的更改 它在 MySQL 中按预期工作 当且仅当第一行具有最大值页数 SELECT FROM Book HAVING NumberOfPages MAX NumberO
  • 解释 d3js 投影基础知识

    我试图了解 d3 中地理投影的基础知识 以便我可以有效地旋转 缩放和平移坐标 投影的结果是否在默认 svg 坐标系中 原点位于左上角 正 y 值沿网格向下移动 或者结果是笛卡尔坐标系的 正 y 值在网格中向上移动 我进行了这个测试 a点位于
  • Android Studio 1.0RC4 Gradle 构建错误

    我刚刚下载了 Android Studio 1 0RC4 但无法构建任何项目 甚至是新创建的项目 我得到的错误是 错误 无法使用 Gradle 分发运行构建操作 https services gradle org distributions
  • git 归档来自远程的特定哈希

    我正在尝试从一个远程存储库获取一个目录 但我只想从特定的哈希中获取该文件 如果我使用带有 HEAD 的 git archive 一切正常 但是当我尝试使用特定的哈希时 git archive v format tar remote ssh
  • AngularJS:如何从window.history中删除当前视图url?

    I have load data使用微调器查看 数据加载完成后控制器重定向到不同的视图 location path show info 如何从历史记录中删除 load data 以避免window history back 到 load d
  • 如何通过一键登录流程使用适用于 JavaScript 的 Google API 客户端?

    我在用着Google 一键登录对用户进行身份验证 在用户通过身份验证后 我会获得访问令牌 我知道我可以使用此访问令牌来使用JavaScript 的 Google API 客户端 GAPI 但我找不到任何使用此访问令牌来使用 GAPI 的方法
  • Google Play 拒绝应用程序,因为它正在上传用户的联系信息

    由于以下原因 该应用程序已从 Google Play 商店中删除 APK 有显着的披露 但披露不充分您的应用正在上传用户的Contact信息至https domen com没有充分披露 由于应用程序是国际电话应用程序 我们使用了很多权限
  • 互斥锁和解锁函数如何防止 CPU 重新排序?

    据我所知 函数调用充当编译器屏障 但不充当 CPU 屏障 This tutorial说如下 获取锁意味着获取语义 而释放锁 意味着释放语义 其间的所有内存操作都是 包含在一个漂亮的小屏障三明治内 防止任何 跨边界的不良内存重新排序 我假设上
  • devtools roxygen 包创建和 rd 文档

    我是 roxygen 的新手 正在努力了解如何使用它来快速创建新的 自定义的包 IE 我想知道最低要求是制作一个名为package1 using devtools roxygen2 3这样我就可以运行命令 require package1
  • 根据特定类别获取所有标签(包括子类别和帖子中的所有标签)wordpress

    我想在 single php 上使用 wp tag cloud 使用从特定类别获取所有标签的参数 包括来自其子类别和帖子的所有标签 Wordpress 中没有本地方法可以做到这一点 原因是标签与类别无关 它们是独立的 话虽如此 获取特定类别
  • 从 iPhone 应用程序购买实体产品,无需 Apple 在应用程序内购买

    iPhone 应用程序是否可以允许用户从应用程序内部购买实体产品 例如笔或鼠标 而无需在应用程序购买中使用 Apple 苹果允许吗 如果是的话 你知道有什么API支持这个吗 谢谢 阿杰 您不得使用 应用内购买 销售实体商品或服务 因为通过此
  • DatePicker 看起来也像新 API 上的旧设计

    所以问题很简单 我集成了一个DatePicker在我的应用程序中 不作为DialogDatePicker但作为一个 View 组件 更准确地说是一个View里面的一个Fragment动态显示并从FrameLayout包含在我的主要Fragm
  • XML XSD 模式验证工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人知道使用 XSD 模式验证 XML 的命令行工具吗 xmllint 来自Libxml项目 xmllint schema schema xsd d
  • recyclerview 中的倒计时器无法正常工作

    我创建了一个包含多个数据和一个倒计时器的回收视图 所有的事情都工作正常 直到我无法滚动列表 当我向下滚动列表时 倒计时器将与上面的视图项目冲突 它也计算当前观看时间和随机时间 我尝试了太多的方法来解决它 但无法解决 请帮帮我 提前致谢 这是
  • 为什么我无法克隆我作为协作者的私有存储库

    我是一个私人 github 存储库的合作者 我可以分叉它 但是当我尝试将它克隆到我的系统上时 它会显示一个弹出框 要求提供凭据 即使我输入正确的凭据 我也无法登录 是只有我一个人还是 github 实际上不允许克隆私人仓库 即使我是其中的合
  • 在 Windows 上启动 Git Bash 时运行 SSH 代理

    我正在使用 git bash 我必须使用 eval ssh agent exe ssh add my ssh location 每次当我开始一个新的 git bash 时 有没有办法永久设置ssh代理 或者windows有什么好的办法吗 管
  • 对字符串的迭代器进行排序

    我有一个字符串迭代器 为了排序 我需要从中创建一个列表并使用它对其进行排序Collections sort list 有没有简单的方法来对迭代器进行排序 迭代器不是容器 它是遍历容器元素的实用程序 因此 如果您只能访问迭代器 则无法更改由该
  • 从字符串中分离出整数

    假设我有一个网页 当前通过 url 参数接受单个 ID 值 http example com mypage aspx ID 1234 我想改变它以接受listid 像这样 http example com mypage aspx IDs 1
  • Spring Data JPA 调用 Oracle 函数

    我正在运行一个简单的应用程序 它使用 Spring Boot Spring Data JPA 来实现持久性 下面是一个示例 Oracle 函数 我希望在服务实现类中返回值 CREATE OR REPLACE PACKAGE PKG TEST
  • 我正在尝试计算 txt 文件中的所有字母,然后按降序显示

    正如标题所说 到目前为止 这就是我的代码确实可以工作的地方 但是我无法按顺序显示信息 目前它只是随机显示信息 def frequencies filename infile open filename r wordcount content