【问题标题】:'int' object is not iterable while using zip in python在 python 中使用 zip 时,'int' 对象不可迭代
【发布时间】:2021-07-05 22:44:48
【问题描述】:
a = [1, 2, 4, 5, 7, 8, 10]
n = len(a)
d = 3
c = []
for i in range(n):
  for j in range(i,n):
    for k in range(j,n):
        for x,y,z in zip(a[i],a[j],a[k]):
            print(x,y,z)

错误:回溯(最近一次调用最后一次):
文件“”,第 8 行,在 TypeError: 'int' 对象不可迭代

当我将列表对象转换为字符串但在 int 中不起作用时,它可以工作。

【问题讨论】:

  • 你想在这里完成什么?
  • 不清楚你想要实现什么。 zip 需要可迭代...字符串是可迭代的,而不是整数不是
  • 绝对不会。因为索引将返回对象而不是此处的可迭代容器。除非你这样称呼它:zip([a[i]], [a[j]], [a[k]]).
  • @Neeraj 我想制作 3 个长度的子集列表。

标签: python iterable python-zip


【解决方案1】:

因为索引将返回对象而不是此处的可迭代容器。除非你这样称呼它:zip([a[i]], [a[j]], [a[k]])

a = [1, 2, 4, 5, 7, 8, 10]
n = len(a)
d = 3
c = []
for i in range(n):
  for j in range(i,n):
    for k in range(j,n):
        for x,y,z in zip([a[i]], [a[j]], [a[k]]):
            print(x,y,z)

【讨论】:

    猜你喜欢
    • 2014-11-04
    • 2015-04-14
    • 2022-07-01
    • 2015-04-06
    • 2013-10-31
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多