创建元组列表(TypeError:' int' object不可迭代)

时间:2017-08-07 18:57:57

标签: python python-2.7

我试图生成一个元组列表,例如[('Client 0', 120),..,('Client 9', 45)],代码中为totalitems。我使用下面的代码,但是我收到了一个错误,我不确定为什么。

N = 10 
value_range = np.arange(0, N, 1)
newitems = []       
for i in value_range:
    newvisits = ("Client %d" % i,) + random_tuple(length=6, values=(0, 15, 30, 45, 60))
    newitems.append(newvisits)

totalitems = []
i = 0 
for each_client in newitems:
    i += 1
    total = sum(each_client[1:])
    newtotal = ("Client %d" % i,) + tuple(total)
    totalitems.append(newtotals)

我得到的错误是:

newtotals = ("Client %d" % i,) + tuple(total)
TypeError: 'int' object is not iterable

我试图在totalitems中找到每个元组的总数,显然我需要忽略index [0]。

有谁知道我哪里出错了?或者有关如何改进代码的任何建议?

NB。 random_tuple是不言自明的,它返回一个长度为6的元组,每个元素都是值的随机选择。

1 个答案:

答案 0 :(得分:6)

newtotals = ("Client %d" % i,) + tuple(total)

total是一个数字。你不能把它转换成这样的tuple; tuple()类希望您传递一个序列。尝试直接构建您想要的元组:

newtotals = ("Client %d" % i, total)