TypeError:';迭代工具。组合对象不可订阅 [英] TypeError: 'itertools.combinations' object is not subscriptable
本文介绍了TypeError:';迭代工具。组合对象不可订阅的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我尝试运行时:
temp = (twoset2[x][i][0]-twoset[x][i][1])
我得到:
TypeError:无法订阅""iterTos.Companies""对象
""
我的代码:
for x in range(0,64):
for i in range(0,1):
temp = (twoset2[x][i][0]-twoset[x][i][1])
DSET[counter2]= temp
temp = 0
counter2 += 1
基本上我要做的是:我有一个包含2个元素坐标子集的列表(twoset2
)(所以举个例子:((2,0) (3,3)
)。我想访问每个单独的坐标,然后取x
和y
之间的差值并将其放入DSET
中,但在尝试运行时收到上述错误。
请帮帮忙!
推荐答案
itertools.combinations
返回生成器而不是列表。这意味着您可以遍历它,但不能像您尝试的那样使用索引逐个元素地访问它。
相反,您可以按如下方式获得每个组合:
import itertools
for combination in itertools.combinations([1,2,3], 2):
print combination
这将提供:
(1, 2)
(1, 3)
(2, 3)
这篇关于TypeError:';迭代工具。组合对象不可订阅的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文