小编ora*_*t94的帖子

使用 zip、* 和 *3 的组合同时迭代 3 个元素是如何工作的?

我尝试使用以下命令一次迭代 3 个元素(这似乎有效):

for a, b, c in zip(*[iter(accounts_iter)]*3):
    print(a)
    print(b)
    print(c)
Run Code Online (Sandbox Code Playgroud)
  1. accounts_iter是我创建的元组列表。
  2. iter(accounts_iter)解压accounts_iter成一个列表迭代器,所以它仍然是一个元组列表,只是它现在是可迭代的

这是我很难理解的地方。

  • *[iter(accounts_iter)]将列表解压Step 2成单独的元组,因此不再是元组列表,而是单个元组
  • *[iter(accounts_iter)]*3乘以 3

在我的输出中,我似乎没有重复项,但确实能够每个循环处理 3 个项目。

但是一旦发生,我不会拥有同一个元组的 3 个副本吗zip(*[iter(accounts_iter)]*3)

python iterator loops python-3.x

5
推荐指数
0
解决办法
716
查看次数

标签 统计

iterator ×1

loops ×1

python ×1

python-3.x ×1