python:如何获取 dict 的子集

2024-02-21

我有一个包含很多元素的字典,我想编写一个可以返回给定索引范围中的元素的函数(将字典视为数组):

get_range(dict, begin, end):
    return {a new dict for all the indexes between begin and end}

如何做到这一点?

编辑:我不是要求使用关键过滤器...例如)

{"a":"b", "c":"d", "e":"f"}

get_range(dict, 0, 1) returns {"a":"b", "c":"d"} (the first 2 elements)

我不在乎排序... 实际上我正在实现服务器端分页......


Edit:字典是未订购。这是不可能的get_range每当您修改字典时都返回相同的切片。如果您需要确定性结果,请替换您的dict with a collections.OrderedDict http://docs.python.org/library/collections.html#collections.OrderedDict.

无论如何,你可以得到一块using itertools.islice http://docs.python.org/library/itertools.html#itertools.islice:

import itertools
def get_range(dictionary, begin, end):
  return dict(itertools.islice(dictionary.iteritems(), begin, end+1)) 

之前按键过滤的答案保留如下:

With @Douglas https://stackoverflow.com/questions/4194365/python-how-to-get-a-subset-of-dict/4194392#4194392' 算法,我们可以通过使用生成器表达式来简化它:

def get_range(dictionary, begin, end):
  return dict((k, v) for k, v in dictionary.iteritems() if begin <= k <= end)

顺便说一句,不要使用dict作为变量名称,如您所见dict是字典的构造函数。

如果您使用Python 3.x,则可以直接使用字典理解。

def get_range(dictionary, begin, end):
  return {k: v for k, v in dictionary.items() if begin <= k <= end}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python:如何获取 dict 的子集 的相关文章

  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • 将 Poetry 与 PyEnv 一起使用并遇到 Python 版本问题

    我正在使用 WSL2 Ubuntu 我一直在学习使用 Fastapi 进行后端 API 开发的课程 我相信我的 Ubuntu 默认 python 是 3 8 我正在尝试使用 python 3 10 0 进行开发 我做了以下事情 pyenv安
  • matplotlib:调整图形窗口大小而不缩放图形内容

    当您调整图形大小时 Matplotlib 会自动缩放图形窗口中的所有内容 通常这是用户想要的 但我经常想增加窗口的大小 为其他东西腾出更多空间 在这种情况下 我希望在更改窗口大小时预先存在的内容保持相同的大小 有谁知道一个干净的方法来做到这
  • Pygame 让精灵按照给定的旋转行走

    很久以前我做了一个Scratch脚本 我想用Pygame将其转换为Python 有很多示例显示图像的旋转 但我想知道如何更改精灵的旋转以使其沿给定方向移动 而不更改图像 这是我的暂存代码 这是我的 Pygame 精灵类 class Star
  • Visual Studio Code:如何使用参数调试 Python 脚本

    我正在使用 Visual Studio Code 来调试 Python 脚本 下列的本指南 https code visualstudio com docs python debugging 我在中设置了参数launch json file
  • Seaborn regplot 中点和线的不同颜色

    中列出的所有示例西伯恩的regplot文档 https seaborn pydata org generated seaborn regplot html点和回归线显示相同的颜色 改变color争论改变了两者 如何为点设置与线不同的颜色 你
  • 如何计算查询集中每个项目的两个字段的总和

    假设我有以下模型结构 class SomeModel Model base price DecimalField commision DecimalField 我不想存储total price在我的数据库中为了数据一致性并希望将其计算为ba
  • 多个列表和大小的所有可能排列

    在 python 中使用以下命令很容易计算简单的排列itertools permutations https docs python org 3 library itertools html itertools permutations 你
  • Python:绘制甘特图的模块

    有没有一个好的Python绘图模块甘特图 http en wikipedia org wiki Gantt chart 我试过了开罗情节 http linil wordpress com 2008 09 16 cairoplot 11 但它
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 如何在python中访问矩阵每个元素的相邻单元格?

    这里 如果两个单元共享边界 则它们被认为是相邻的 例如 A 5 6 4 2 1 3 7 9 8 这里 索引 0 0 的相邻元素位于索引 0 1 和 1 0 处 索引 1 1 的相邻元素位于索引 0 1 1 0 2 1 处 和 1 2 假设你
  • 在 Python 中将嵌套字典位置作为参数传递

    如果我有一个嵌套字典 我可以通过索引来获取键 如下所示 gt gt gt d a b c gt gt gt d a b c 我可以将该索引作为函数参数传递吗 def get nested value d path a b return d
  • 使用 conda 安装额外功能

    With pip我们可以使用方括号安装子包 例如与阿帕奇气流 https pythonhosted org airflow installation html pip install airflow all 有类似的东西吗conda或者我必
  • 在 matplotlib 中将 3D 背景更改为黑色

    我在将 3D 图表的背景更改为黑色时遇到问题 这是我当前的代码 当我将facecolor设置为黑色时 它会将图表内部更改为灰色 这不是我想要的 fig plt figure fig set size inches 10 10 ax plt
  • Django 按小时过滤

    我找到了那个链接 http code djangoproject com attachment ticket 8424 time filters diff http code djangoproject com attachment tic
  • 重写 PyGObject 中的虚拟方法

    我正在尝试实施高宽几何管理 http developer gnome org gtk3 3 2 GtkWidget html geometry management在 GTK 和 Python 中用于我的自定义小部件 我的小部件是来自的子类
  • 如何通过 Selenium 内部的文本查找按钮(Python)?

    我有以下三个按钮 我不知道如何获取其中的文本 例如异常值 我试过browser find element by link text Outliers click 但出现 无法找到元素 错误 我该怎么做 See find element by
  • gnuplot:第 1 行:无效命令

    stackoverflow 上可爱的人们大家好 我正在尝试使用 gnuplot 绘制数据 我首先阅读表格并提取我想要的数据 我将此数据写入 dat 文件 截至目前 我只是尝试通过命令行绘制它 但会添加必要的代码以在 python 脚本工作后
  • AES 在 cryptojs 中加密并在 python Crypto.Cipher 中解密

    使用 js CryptoJS 加密并使用 python crypto Cipher 解密时出现问题 这是我在js中的实现 附加 iv 与加密消息并使用 base64 进行编码
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim

随机推荐

  • 如何在角度4中使用renderer2动态追加子项

    我是 Angular 4 的新手 需要使用 html 列表在 child 下添加 child Component selector my app template div ul root ul div export class App im
  • 动态委托给最小的 api

    各位程序员大家好 基本上 我想将动态构建的委托传递给最小的 api MapGet 或 MapPost 方法 这是构造委托的方法 private static Delegate GetDelegate Type type MethodInfo
  • Xamarin Forms WebView 检查网站地址何时更改

    我有以下代码在我的 Xamarin Forms 跨平台应用程序中设置 WebView ReportsListWebView new WebView VerticalOptions LayoutOptions FillAndExpand Ho
  • geocoder.getFromLocationName 仅返回 null

    这两天我快要疯了IllegalArgumentException当尝试从地址中获取坐标 甚至反向获取经度和纬度地址时 我在 Android 代码中收到错误 这是代码 但我看不到错误 它是一个标准代码片段 很容易在 Google 搜索中找到
  • Mercurial:远程:中止:这里没有 Mercurial 存储库(未找到 .hg)!

    all 我已经寻找这个问题很长时间并尝试了不同的方法 我想仅通过 SSH 在服务器上维护我的代码 但是当我运行这个时 sudo hg clone v ssh carl hostname home carl Java Projects pet
  • 20hz-20000hz 巴特沃斯滤波爆炸

    我想过滤掉 20 Hz 20000 Hz 之外的所有内容 我正在使用巴特沃斯滤波器 from scipy io import wavfile from scipy import signal import numpy sr x wavfil
  • Javascript 字符串大小限制:对我来说是 256 MB - 所有浏览器都一样吗?

    我很好奇我能在 Javascript 中获得的最大字符串长度是多少 今天我在 Windows 7 中运行的 Firefox 43 0 1 上亲自测试了它 我能够构造一个具有长度的字符串2 28 1 但是当我尝试创建一个多一个字符的字符串时
  • C# ImageFormat 转字符串

    我怎样才能获得人类可读的字符串 即图像格式本身 来自系统 绘图 图像格式目的 我的意思是如果我有ImageFormat Png是否可以将其转换为 png 字符串 EDIT 我在这里看到一些误解 这是我的代码 Image objImage I
  • 如何检测是否在osgi容器中运行

    我有一个 OSGi 包 也可以在纯 Java 进程中运行 我需要能够判断捆绑包是否已加载到 OSGi 系统中 我怎样才能做到这一点 如果没有 OSGi 标准方法来执行此操作 我将采用 Eclipse Equinox 特定的方法 将 Bund
  • Safari 11 X-XSRF-TOKEN 刷新后未更新

    最近 Mac OSX 上的 Safari 11 发布 此更新导致我们的 Web 应用程序与请求标题上的 XSRF 结合出现问题 我将尝试以逻辑方式描述问题 好的情况应该是这样的 当用户想要登录时 他会收到服务器的响应 其中包含包含 XSRF
  • 如何使用 React 和表单来获取选中的复选框值的数组?

    我正在尝试为我的投资组合网站构建一个过滤器 复选框可让您选择一种技术 react redux jquery 等 来显示包含该技术的作品 因此 每次用户单击某个框时 我都想将值 JavaScript Redux React 等 添加到一个数组
  • 绿色线程是否等于“真实”线程

    我从以下位置获取了示例代码理解 eventlet wsgi server https stackoverflow com questions 8509209 unterstanding eventlet wsgi server from e
  • 使用 CSS 更改悬停时的文本颜色

    我已经搜索过 但找不到与我遇到的这个问题相关的任何内容 我多年来一直试图解决这个问题 但似乎无法做到 我有一个 div 里面有文本和图像 我希望当我将鼠标悬停在 div 内的任何位置时 div 内的所有文本和背景都会改变颜色 我已经做到了底
  • 电视指南列表 API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法从 Apple 开发者中心删除 App ID

    我已经看到 Apple 更改了 iOS 开发中心的证书 标识符和配置文件页面 并在堆栈上阅读此问题 答案 从开发者连接中删除应用程序 ID https stackoverflow com questions 996477 removing
  • 如何使用 ajax get 或 post 在 mvc 中使用参数将数据从视图传递到控制器

    我正在尝试使用 ajax 将数据从视图传递到控制器操作方法 如下所示 我有一个用户的 Membership 实例 我使用 viewbag 从另一个控制器传递到下面的这个视图 有点像这样 ViewBag MyUser MyUser 现在我想使
  • 使用另一种身份验证方法进行外部 api 调用

    我有一个带有 MVC 的 Web API 应用程序 当用户使用网站时 身份验证和授权当前由我使用的全局表单身份验证自动处理 在 Web config 中配置如下
  • 我可以像一样从房间查询中获取数据吗?

    我知道我可以通过使用数据类来做到这一点 但我想实现像这样 This is My Query Query SELECT loan amount adv interest amount FROM new pledge receive WHERE
  • 是否有 Node.js 默认凭证提供程序链?

    我正在编写一个使用 AWS SDK 的 node js 应用程序 java文档描述了一个非常方便的概念 称为默认凭证提供者链 https docs aws amazon com sdk for java v1 developer guide
  • python:如何获取 dict 的子集

    我有一个包含很多元素的字典 我想编写一个可以返回给定索引范围中的元素的函数 将字典视为数组 get range dict begin end return a new dict for all the indexes between beg