python list(zipobject) 返回空(列表)容器[重复]

2024-01-07

我在 Python 3.4.3 中遇到了一个奇怪的问题,而且似乎没有在任何地方提到它。

可以说:
a = [1,2,3,4] and b = [5,6,7,8]

要垂直连接这些:ab = zip(a,b)在Python 3中,ab本身会返回:

zip 对象位于(某个十六进制数字)

一切顺利,在 python 3 中,检索串联列表:
aabb = list(ab)

现在问题来了,第一次,aabb确实会返回一个真实的列表:
[(1, 5), (2, 6), (3, 7), (4, 8)]

然而,第二次及以后,如果您再次执行整个过程list(aabb)只会返回一个空的[]容器,就像list()会做。

只有在我重新启动 shell/解释器后它才会再次工作。

这是正常现象还是错误?

EDIT:好吧,伙计们,我没有意识到这与zip,它看起来恒定为ab每次都返回相同的十六进制值,所以我认为这与list(ab).

无论如何,通过重新分配解决了ab = zip(ab)

根据我对答案和原始链接的理解,ab一旦阅读就会被处理。


这个问题不会被创建list(aabb)但与list(ab)现在在您的代码中:

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]

ab = zip(a, b)
aabb = list(ab)

print(list(ab))  # -> []

问题是zip is an iterator https://docs.python.org/3/glossary.html#term-iterator它存储值一次,然后像这样处理:

ab = zip(a, b)  # iterator created
aabb = list(ab)  # elements read from ab, disposed, placed in a list

print(list(ab))  # now ab has nothing because it was exhausted

另一方面,这应该有效,因为aabb只是一个列表,而不是耗尽的迭代器ab:

ab = zip(a, b)
aabb = list(ab)

print(list(aabb))  # -> [(1, 5), (2, 6), (3, 7), (4, 8)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python list(zipobject) 返回空(列表)容器[重复] 的相关文章

随机推荐

  • 是否有 Linq 方法可以将单个项目添加到 IEnumerable 中?

    我正在尝试做这样的事情 image Layers 它返回一个IEnumerable对于除Parent层 但在某些情况下 我只想这样做 image Layers With image ParentLayer 因为与通常使用的数百次相比 它只在
  • Git pull:错误:条目 foo 未更新。无法合并

    我正在尝试从远程分支更新我的存储库 并且当我执行 git pull 时不断收到此错误 我没有进行任何本地更改 即使做了 我也不需要保留它们 我试过了 git reset hard 我遇到了同样的问题 似乎唯一有效的方法是删除有问题的文件并再
  • PDO 获取多个插入 ID

    使用 PDO 运行以下查询 实际上 我使用准备好的语句 但有同样的问题 INSERT INTO MyTable MyField VALUES Row1 Row2 如何获取与以下内容相关的记录的 IDRow1 and Row2 db gt l
  • 有 C++ 的在线名称解析器吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我收到了一个相当长且令人困惑的链接错误 如果我可以将其粘贴到某个网站上的某个文本框中并为我提供未损坏的
  • Python:通过向上舍入将列表中的 # 个值分配给 bin

    我想要一个可以接受一系列和一组垃圾箱的函数 并且基本上四舍五入到最近的垃圾箱 例如 my series 1 1 5 2 2 3 2 6 3 def my function my series bins my function my seri
  • Android:DatePicker 无法在 Activity 内工作

    在我的应用程序中 我有一个选项卡栏 我使用 ActivityGroup 将内容加载到每个选项卡中 如下所示 public class FirstGroup extends ActivityGroup Keep this in a stati
  • C++ cin 和 CTRL + Z 问题

    我正在阅读 C Primer 5th 我在练习中遇到了一些问题 从 cin 读取单词序列并将值存储为向量 后 你已经阅读了所有单词 处理向量并将每个单词更改为 大写 打印转换后的元素 一行八个字 我的代码是这样的 include
  • 循环遍历所有表并重命名列

    客户给了我一个遗留数据库old data其中包含一堆表 我将逐步在新系统中激活它们 不幸的是 有几个表包含一个名为hash它与我用来处理这个项目的 Ruby on Rails 不太兼容 有没有办法告诉MySQL控制台中的MySQL 版本8
  • JIT 自动内联的方法的大小是多少?

    我听说 JIT 自动内联小型方法 例如 getter 它们大约有 5 个字节 边界是什么 有 JVM 标志吗 HotSpot JIT 内联策略相当复杂 它涉及许多启发式方法 例如调用方方法大小 被调用方方法大小 IR 节点计数 内联深度 调
  • Zoidberg曲线,无法达到“zoidberg”解

    我正在尝试绘制在Matlab中只是为了好玩 I just copied the equation shown there and defined the sgn and theta functions but I can t achieve
  • 在一次替换调用中替换多个字符

    我需要将 的每个实例替换为空格 并将 的每个实例替换为空 空 var string Please send an information pack to the following address 我试过这个 string replace
  • 解析 XML 命名空间?

    使用 JavaScript Ajax 我正在尝试从中提取值
  • 如何在 SVG 中显示占位符图像,直到加载真实图像?

    我正在使用 D3 js 渲染包含光栅图像的节点的图形 var mainscreenURL s3 base url viewController screenshot jpeg svg select mainScreen transition
  • java中使用正则表达式进行字符串匹配

    我想像这样匹配电话号码 它应该有3 digits except 000 666以及之间的任何数字900 999后面加 然后2 digits后面加 然后4 digits 例如 123 75 3456 is a match 000 23 345
  • ruby 中的大括号与前面的字符匹配

    我在这里阅读了很多关于使用 Regexp 在 Ruby 中匹配嵌套大括号的文章 然而我无法适应我的情况 我陷入了困境 Ruby 1 9 书中使用以下内容来匹配一组嵌套大括号 A
  • DefaultSelenium 和 RemoteWebDriver 有什么区别?

    RemoteWebDriver 是 Selenium 2 0 中 DefaultSelenium 的替代品还是两者可以结合使用 RemoteWebDriver 只是用于连接到远程 selenium 服务器的驱动程序 您可以将 WebDriv
  • 忽略我对文件的更改,但不要从远程代表中删除它们

    我的工作目录中有几个文件存在于远程代表中 我总是出于特定原因更改它们 是否可以使 git 在提交时忽略这些文件 同时这些文件不应从远程代表中删除 当我从远程代表中提取更改时 不应合并这些文件 是否有可能做到这一点 P S git updat
  • 缺少“部署”按钮 Visual Studio 2012

    昨天 我已在 SharePoint 2013 开发计算机上安装了 Visual Studio 2012 Premium 我还安装了 Office 开发人员工具来获取 SP2013 项目模板 打开我的 SP 2010 解决方案文件并成功转换为
  • IPython笔记本上CSV文件的SQL语句

    我有一个tabledata csv文件和我一直在使用pandas read csv阅读或选择具有特定条件的特定列 例如 我使用以下代码来选择所有 名称 session id 1 它在数据科学家工作台上的 IPython Notebook 上
  • python list(zipobject) 返回空(列表)容器[重复]

    这个问题在这里已经有答案了 我在 Python 3 4 3 中遇到了一个奇怪的问题 而且似乎没有在任何地方提到它 可以说 a 1 2 3 4 and b 5 6 7 8 要垂直连接这些 ab zip a b 在Python 3中 ab本身会