python用多个键填充搁置对象/字典

2023-12-01

我有一个 4-gram 列表,我想用它来填充字典对象/shevle 对象:

['I','go','to','work']
['I','go','there','often']
['it','is','nice','being']
['I','live','in','NY']
['I','go','to','work']

这样我们就有了类似的东西:

four_grams['I']['go']['to']['work']=1

任何新遇到的 4-gram 都会用它的四个键填充,值为 1,如果再次遇到它,它的值会递增。


你可以这样做:

import shelve

from collections import defaultdict

db = shelve.open('/tmp/db')

grams = [
    ['I','go','to','work'],
    ['I','go','there','often'],
    ['it','is','nice','being'],
    ['I','live','in','NY'],
    ['I','go','to','work'],
]

for gram in grams:
    path = db.get(gram[0], defaultdict(int))

    def f(path, word):
        if not word in path:
            path[word] = defaultdict(int)
        return path[word]
    reduce(f, gram[1:-1], path)[gram[-1]] += 1

    db[gram[0]] = path

print db

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

python用多个键填充搁置对象/字典 的相关文章

  • xlrd.biffh.XLRDError:Excel xlsx 文件;不支持[重复]

    这个问题在这里已经有答案了 我正在尝试使用读取启用宏的 Excel 工作表pandas read excel与 xlrd 库 它在本地运行良好 但是当我尝试将其推送到 PCF 时 我收到此错误 2020 12 11T21 09 53 441
  • 切片稀疏(scipy)矩阵

    我将不胜感激任何帮助 以理解从 scipy sparse 包中切片 lil matrix A 时的以下行为 实际上 我想根据行和列的任意索引列表提取子矩阵 当我使用这两行代码时 x1 A list 1 x2 x1 list 2 一切都很好
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • 即使页面未完全加载,我们也可以使用 Selenium 获取页面源吗(TimeoutException: Message: timeout)?

    即使遇到 TimeoutException Message timeout 也能获取页面源码吗 当我调用 driver page source 时 有时无法加载整页 但我只需要它的部分信息 尚未确定 所以我只想在任何情况下保存页面 是否可以
  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 查找模块中显式定义的函数 (python)

    好的 我知道您可以使用 dir 方法列出模块中的所有内容 但是有什么方法可以仅查看该模块中定义的函数吗 例如 假设我的模块如下所示 from datetime import date datetime def test return Thi
  • 根据开始列和结束列扩展数据框(速度)

    我有一个pandas DataFrame含有start and end列 加上几个附加列 我想将此数据框扩展为一个时间序列 从start值并结束于end值 但复制我的其他专栏 到目前为止 我想出了以下内容 import pandas as
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 长/宽数据到宽/长

    我有一个数据框 如下所示 import pandas as pd d decil 1 decil 1 decil 2 decil 2 decil 3 decil 3 decil kommune AA BB AA BB AA BB 2010
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • REST 数组操作最佳实践

    我可以通过 REST 完全访问 foo 资源 name foo tags tag01 tag02 tag03 我想删除tag01 in tags array 通常我会GET foo and PUT foo它回来没有tag01 在这种情况下
  • Android Studio 运行 Espresso UI 测试时内存使用过多

    我注意到 在模拟设备上运行 Espresso UI 测试时 系统的内存使用量会无限增加 直到我重新启动 Android Studio 和模拟设备 经过检查 我可以看到我的 Android Studio 和模拟设备的内存使用量保持不变 但总体
  • Tornado/Python self.render("example.html") 忽略 CSS

    我是 Python 和一般编程的新手 我使用名为 Tornado 的网络服务器来 托管 我的网站 每当我使用 self render example html 这里的变量 生成动态 html 页面 生成的 html 页面没有合并任何 CSS
  • 如何处理flex中的嵌套注释

    我正在为支持嵌套注释的语言编写一个 Flex 扫描器 如下所示 我曾经在支持递归调用 lex 扫描器的 ocaml ocamllex 上工作 非常优雅 但我现在切换到c flex 如何处理这样的嵌套注释 假设只有注释可以嵌套在注释中 那么对
  • jQuery 对话框中的 Z 索引。自动建议列表未正确显示

    我在 jQuery 对话框中显示自动建议框时遇到问题 无论如何 自动建议列表都会显示在对话框下方 我尝试将 autosuggest 的 z index 属性设置为 gt 1004 但没有成功 下面是屏幕截图 这是我用来设置自动建议列表样式的
  • Java 浮点数学 - (英尺/米的转换)

    我认为这是一个非常基本的问题 我正在执行此功能 private double convertMetersToFeet double meters function converts Feet to Meters double toFeet
  • 购物车的“查看购物车商品”页面未正确分页

    我有一个 PHP 页面 用于检索我的数组中的数组 SESSION products 会议 该会话中的每个数组都是用户通过以下方式添加到其 购物车 中的产品 catalogue php页 目前我的会话有 11 个阵列 这意味着我已将 11 个
  • Blade 中的 Vue 组件

    我正在尝试使用this在我的刀片视图中 我有 vue文件和JS中的以下代码 import Multiselect from vue multiselect export default components Multiselect data
  • 将结果从 ReportMemoryLeaksOnShutdown 重定向到日志文件

    我想将内存泄漏检测添加到我们的自动化单元测试中 ReportMemoryLeaksOnShutdown 将检测任何内存泄漏 最大的问题是它将结果打印到模式对话框中 该对话框必须由用户手动关闭 这在构建服务器上运行的自动化单元测试中不起作用
  • 12:xx 在 SimpleDateFormat.format("hh:mm:ss") 中显示为 00:xx

    在以下代码中使用 SimpleDateFormatter format 时 12 00 到 12 59 之间的时间在 startDateText TextView 中显示为 00 00 到 00 59 而从 13 00 开始 它们正确显示为
  • 在clearcase中如何将不可修改的基线转换为可修改的?

    创建了一个新的 UCM 项目 并配置了多个基线 当我尝试从特定组件签出文件时 我不被允许签出 并且它说流可能是只读的 我可以查看流中的其他组件文件 所以我尝试运行以下命令 cleartool lsstream view MyBuildVie
  • 如何使用 python-docx 以编程方式在 MS Word 中的页面布局中实现列

    我需要实现word文档的设计 我必须使用 python docx 库以编程方式将该文档的页面布局设置为 2 列布局 请帮忙 我用谷歌搜索这个问题并关注你在 stackoverflow 和谷歌论坛上的评论 我解决了这个问题 下面的代码帮助了我
  • 如何在管理表单的日期字段中接受本地化日期格式(例如 dd/mm/yy)?

    是否可以自定义 django 应用程序以在管理表单的 DateField 中接受本地化日期格式 例如 dd mm yy 我有一个模型类 class MyModel models Model date models DateField Dat
  • 将日期转换为正确的格式

    我有一个网络服务 它通过以下方式返回我的日期 Wed Oct 31 11 59 44 0000 2012 但我希望它以这种方式还给我 31 10 2012 11 59 我知道应该使用 NSDateFormatter 来完成 但我现在不知道如
  • 在 PHP 中使用具有抽象类型的 WSDL

    我正在研究我们的 Web 应用程序和 Microsoft Exchange 2007 之间的集成 我正在使用 Exchange Web 服务 EWS 与 Exchange Server 进行通信 但是 我在使用 WSDL 时遇到了一些问题
  • 从 BroadcastReceiver 更新 Activity

    这个问题提出了一个有趣的问题 OP 有一个显示地图的应用程序 该地图需要使用通过 SMS 消息接收的位置标记进行更新 各个步骤相当简单 SMS 消息可以由BroadcastReceiver 标记可以通过ItemizedOverlay在一个上
  • 将 JTextArea 或 JTextPane 中的文本居中 - 水平文本对齐

    有没有办法像 JTextField 一样为 JTextArea 创建水平居中的文本 setHorizontalAlignment JTextField CENTER 有没有办法可以使用多行文本区域完成同样的事情 我找不到 JTextArea
  • Firebase 存储和访问控制允许来源

    我正在尝试通过 XMLHttpRequest 从 Firebase Storage 下载文件 但资源上未设置 Access Control Allow Origin 因此这是不可能的 有没有办法在存储服务器上设置这个标头 let xhr j
  • PHP/Mysqli:为什么此代码会使插入行加倍?

    我的代码需要帮助 不知何故 我的代码创建了两个房间 它一次将两行插入表中 我不知道为什么 我需要每个插入都需要一个 id 才能知道我们在哪个房子中创建一个新房间 我的数据库包含表 house 和表 room 表 room 有一个字段 hou
  • python用多个键填充搁置对象/字典

    我有一个 4 gram 列表 我想用它来填充字典对象 shevle 对象 I go to work I go there often it is nice being I live in NY I go to work 这样我们就有了类似的