python3 解压缩元组列表

2024-01-12

在python2.7中,以下代码取字典fd(在本例中表示单词及其计数的频率分布),并将其分成两个列表的列表:[[键],[值]]:

sortedDKandVs = [zip(*sorted(fd.items(), key=itemgetter(1), reverse=True))] #[word,word,...],[count,count]

然后我可以这样做,例如:

keys = sortedDKandVs[0]
values = sortedDKandVs[1]

这在 Python3 中不再有效,我想知道如何转换代码。

这里没有答案如何将元组列表解压缩为单独的列表? https://stackoverflow.com/questions/12974474/how-to-unzip-a-list-of-tuples-into-individual-lists不再工作了,因为在 Python3 zip 对象中返回迭代器而不是列表,但我不确定如何转换答案。


Python 2:

Python 2.7.6 (default, Apr  9 2014, 11:48:52) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from operator import itemgetter
>>> di={'word1':22, 'word2':45, 'word3':66}
>>> zip(*sorted(di.items(), key=itemgetter(1), reverse=True))
[('word3', 'word2', 'word1'), (66, 45, 22)]
>>> k,v=zip(*sorted(di.items(), key=itemgetter(1), reverse=True))
>>> k
('word3', 'word2', 'word1')
>>> v
(66, 45, 22)

Python 3:

Python 3.4.1 (default, May 19 2014, 13:10:29) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from operator import itemgetter
>>> di={'word1':22, 'word2':45, 'word3':66}
>>> k,v=zip(*sorted(di.items(), key=itemgetter(1), reverse=True))
>>> k
('word3', 'word2', 'word1')
>>> v
(66, 45, 22)

Python 2 和 Python 3 完全相同

如果您想要列表与元组(Python 3 和 Python 2):

>>> k,v=map(list, zip(*sorted(di.items(), key=itemgetter(1), reverse=True)))
>>> k
['word3', 'word2', 'word1']
>>> v
[66, 45, 22]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 解压缩元组列表 的相关文章

  • 如何在Python中找到低精度浮点值的原始文本表示?

    我遇到了显示问题floatPython 中的值 从外部数据源加载 它们是 32 位浮点数 但这也适用于较低精度的浮点数 以防万一 这些值是由人类在 C C 中输入的 因此与任意计算值不同 与round数字很 可能not预期的 但不能被忽略
  • 有什么理由不在Python中混合使用多处理和线程模块

    我正在考虑使用Python来实现一个需要大量多线程的程序 另一个要求是它将在桌面上运行 因此拥有许多进程将使应用程序显得混乱且难以杀死 在任务管理器中 因此 我正在考虑使用线程和多处理模块来减少进程数量 据我了解 GIL 仅适用于单个进程
  • 为什么函数会修改列表以及如何防止它发生?

    我正在 Python 3 7 x 中调用一个函数并向其传递一个列表 我愿意not希望修改列表 在函数内部 我复制了列表并对其进行修改 函数完成后 传递给函数的原始列表已被修改 为什么会发生这种情况 我该如何预防 这是代码 def appen
  • 如何使用授权 API 设置部分身份验证

    好的 我正在通过 Authorize net API 设置部分付款 以便能够使用多张卡支付单笔余额 费用 我假设他们的部分身份验证功能涵盖了我的用例 但在测试中 我可以在此处使用 API 实时控制台向您展示一个问题 https develo
  • 不可能通过简单地返回它们来链接本机异步协程

    我一直在使用 py3 4 的基于生成器的协程 并且在几个地方我通过简单地进行一个协程调用来链接它们return inner coroutine 如下例所示 但是 我现在将它们转换为使用 py3 5 的本机协程 并且我发现它不再起作用 因为内
  • 重构:使用实例参数重载方法的类型安全方法是什么,例如方法(自己,其他)?

    我想将以下内容重构为类型安全的内容 我现在给出了 mypy 与超类型不兼容 错误 我理解这是由于里氏替换原则 子类型中方法参数的逆变 子类型中返回类型的协方差 也就是说 如果我理解正确的话 我可以返回A or a subtype of A
  • QuantLib:构建关键利率风险

    我能够为国债市场建立一条贴现曲线 然而 我希望用它来找出单个债券 最终是债券投资组合 的关键利率风险 我正在寻找的关键利率风险是 如果我拥有 30 年期债券 并且我们改变用于贴现债券的 1 年期利率 同时保持其他利率不变 那么债券的价格会变
  • 如何在Python中比较枚举?

    从 Python 3 4 开始 Enum类存在 我正在编写一个程序 其中一些常量具有特定的顺序 我想知道哪种方式最适合比较它们 class Information Enum ValueOnly 0 FirstDerivative 1 Sec
  • 使用 ABCMeta 和 EnumMeta 的抽象枚举类[重复]

    这个问题在这里已经有答案了 简单的例子 目标是通过从两者派生的元类创建一个抽象枚举类abc ABCMeta and enum EnumMeta 例如 import abc import enum class ABCEnumMeta abc
  • 哪些 2to3 修复程序输出有效的 Python 2 代码?

    2to3 是一个 Python 程序 它读取 Python 2 x 源代码并应用一系列修复程序将其转换为有效的 Python 3 x 代码 考虑一下列出的四十个修复者https docs python org 3 library 2to3
  • 通过服务器端的服务帐户使用 gmail api,避免使用 OAUTH2 GUI

    我有一个用 python 开发的应用程序 它使用 SMTP 服务连接到 gmail 帐户 这种类型的连接典型为 访问不安全的应用程序 不太安全的应用程序 https myaccount google com lesssecureapps 为
  • 使用定制距离函数从 Pandas Dataframe 创建距离矩阵

    我有一个包含两列的 Pandas 数据框 id 唯一标识符 和 date 如下所示 test df head id date 0 N1 2020 01 31 1 N2 2020 02 28 2 N3 2020 03 10 我创建了一个自定义
  • Django Rest Framework 完整性错误捕获

    在 Django Rest Framework 中 我使用了序列化器 视图集和路由器方法 每当我在 django Rest 框架的 API 视图中发布故意错误时 它都会抛出完整性错误 有没有办法尝试捕获错误 例如如果数据中没有错误 则继续保
  • 为什么不能在 f 字符串中使用“await”?

    为什么不能在 f 字符串中使用 await 有什么方法可以强制 f 字符串在协程函数的上下文中评估格式表达式吗 python3 Python 3 6 0 default Mar 4 2017 12 32 37 GCC 4 2 1 Compa
  • 为什么类型提示不能在 for 循环中使用?

    在 a 中注释目标for声明无效 gt gt gt for i str in test string File
  • 使用 python3 查找表情符号的宽度

    我尝试使用 python 中的模式打印字母 A def printA length height symbol a for i in range length for i in range height for i in range hei
  • 使用 Pandas 来“applymap”来访问索引/列?

    解决以下 pandas 问题的最有效方法是什么 这是一个简化的示例 其中包含数据框中的一些数据 import pandas as pd import numpy as np df pd DataFrame np random randint
  • Python 3.7 RPM 创建

    我正在尝试通过以下方式为 Python 3 7 3 创建 RPM 文件Python RPM https docs python org 3 distutils builtdist html但收到 文件未找到 错误 请按照以下链接查看日志 L
  • 如何使用 pyinstaller 包含文件?

    我也使用 tkinter 使用 python 3 7 编写了一个程序 由于我使用的是外部图片 因此当我将所有内容编译为一个 exe 时 我需要包含它们 我试过做 add data bg png files 但我仍然收到此错误 tkinter
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例

随机推荐