在Python中对字母数字字典键进行排序[重复]

2023-12-27

我有一个键字典,如 A1-A15、B1-B15 等。运行dictionary.keys().sort() 会产生 A1、A10、A11 ...

def sort_keys(dictionary):
    keys = dictionary.keys()
    keys.sort()
    return map(dictionary.get, keys)

我如何对其进行排序,以便它们按正确的顺序排列,即 A1、A2、A3 ...?


keys.sort(key=lambda k:(k[0], int(k[1:])) )

编辑:这会失败,因为按键不像 A23,例如AA12 将停止该程序。一般情况下,请参见natsort 函数的 Python 模拟(使用“自然顺序”算法对列表进行排序) https://stackoverflow.com/questions/2545532/python-analog-of-natsort-function-sort-a-list-using-a-natural-order-algorithm.

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

在Python中对字母数字字典键进行排序[重复] 的相关文章

随机推荐

  • 应该由 Promise 调用同步代码。然后创建一个新的 Promise

    我已经实现了一些代码 其中异步代码后面跟着一些同步函数 例如 function processSomeAsyncData asyncFuncCall then syncFunction catch error 如果我理解正确的话then也是
  • 套接字丢失数据

    我正在尝试编写 Java 代码来从流式 HTTP 连接接收数据 我想调试针对 spring websocket 服务器运行 Sockjs XHR 流时遇到的问题 我使用一些非常简单的代码来连接 URI uri The server Sock
  • 从 Android 中列表视图中放置的 EditText 获取值

    我不知道如何获取列表视图中的编辑文本值位置 我使用单工适配器用数据填充了列表视图 有人会给出从列表中获取 edittext 值的示例代码吗 for int i 0 i lt ListSortOrder getAdapter getCount
  • C++ 返回一行

    我正在编写一个多行系统 如下所示 string readLines string x string temp a vector
  • 如何在 FPDF 中设置下边距

    我最近深入研究了 FPDF 但我似乎不明白的是 为什么没有办法设置底部边距 有一些功能可以设置顶部 左侧和右侧的边距 但不能设置底部的边距 我现在假设我误解了 FPDF 工作原理的一些基本和概念性内容 但我不知道那可能是什么 所以要减少它
  • 如何从 JavaFX 中的 SceneBuilder 访问 UI 组件

    重复并已解决 请参阅下面的答案 我正在 JavaFX 中迈出第一步 似乎很难使用 SceneBuilder 我已经习惯了 Android 和 QtCreator 在我看来 访问 UI 组件要容易得多 就像是findViewById R id
  • 在 UI 中为控制器内的操作添加嵌套分组部分

    动作分组中是否可以有小节 我们目前使用基于控制器的区分来对功能进行分组 但托管大量控制器并且可以使用进一步的嵌套 换句话说 我知道操作可以按以下方式分组 排序 但可以多次分组 c GroupActionsBy apiDesc gt apiD
  • 如何使用 R 从需要 cookie 的 SSL 页面下载压缩文件

    我正在尝试从 https 页面下载一个文件 该页面需要按下 我同意 按钮 然后存储 cookie 如果这个答案在某个地方很明显 我很抱歉 当我直接在 Chrome 中打开网页并单击 我同意 时 文件开始自动下载 我尝试复制这个例子 http
  • 是否可以在服务器端缓存一个asp页面?

    假设您有一个大型复杂的索引页面 其中显示新闻文章和内容 它不会经常改变 您能否以某种方式将其缓存在服务器端 这样请求就不会强制服务器在每次有人访问它时动态生成整个页面 或者 ASP NET 会自动执行此操作吗 如果是这样 它如何知道某些内容
  • 使用特定字符串作为每个列名称的前缀?

    我试图manually将某些行映射到其适当类的实例 我知道我需要使用每个表的每一列 并将一个表中的所有这些列映射到给定的类中 但是 我想知道是否有更简单的方法可以做到这一点 现在 我有一堂课叫School和一个名为User 每个类都有一个N
  • 其他浏览器是否实现了条件注释?

    IE 允许您根据浏览器的注释条件检测正在运行的 IE 版本 我实际上不知道他们是否这么称呼 如果不是 有人可以纠正我 css code here 有谁知道其他浏览器是否效仿他们的示例来确定他们正在使用的浏览器版本 css code here
  • 点击或延迟后 jQuery 淡出

    我正在网站上显示一个消息框 我希望能够在单击时或 X 秒后淡出 问题是delay 函数取代了click 功能使得即使您单击关闭您仍然需要等待时间 这是 jQuery document ready function close green c
  • 运行全新安装的 iPython 时出错

    我正在使用 virtualenvwrapper 因此任何人都可以轻松地重现它 但是使用也会发生这种情况pip直接在我的系统上 安装 iPython 后pip 我将无法运行它 注意我使用的是 Python 2 解释器 尽管如果我使用 Pyth
  • 在 iOS9 上编辑 UITextField 时向上移动键盘

    让我的键盘向上移动以发现UITextField在我的 iOS 应用程序中 我曾经实现过这个答案 https stackoverflow com a 6908258 3855618 https stackoverflow com a 6908
  • 无法将文本视图的文本垂直居中

    已解决 我必须添加android fillViewport true 到 ScrollView 解决了文本不垂直居中的问题 我知道这个问题之前已经被回答过很多次了 但我仍然无法将文本视图的文本垂直居中
  • Amazon EC2 作为网络服务器? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近对可用的不同托管类型进行了很多思考 我们可以从欧洲的 EC2 实例 我们位于瑞典 获得相当不错的延迟 平均 并且成本相当不错 显然 扩大和
  • 访问 Ember-CLI 嵌套控制器

    这是我的目录结构 controllers restaurant items js index js restaurant js 我的路由器声明 this route restaurants path restaurants this res
  • 快速生成随机集,蒙特卡罗模拟

    我有一组大约 100 个数字 我希望对这组数字执行 MC 模拟 基本思想是我完全随机化该组 对前大约 20 个值进行一些比较 检查 存储结果并重复 现在 实际的比较 检查算法非常快 它实际上在大约 50 个 CPU 周期内完成 考虑到这一点
  • 当客户端关闭与 Django/WSGI 应用程序的连接时,如何防止“IOError:无法写入数据”?

    我有一个 iPhone 应用程序 它使用 Python Django 和 Piston 实现的 Web 服务 通过 WSGI 在 apache 服务器上运行 有时 应用程序会在呼叫完成之前关闭与服务器的连接 当它这样做时 会导致 Tue S
  • 在Python中对字母数字字典键进行排序[重复]

    这个问题在这里已经有答案了 我有一个键字典 如 A1 A15 B1 B15 等 运行dictionary keys sort 会产生 A1 A10 A11 def sort keys dictionary keys dictionary k