我试图生成一个元组列表,例如[('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的元组,每个元素都是值的随机选择。
答案 0 :(得分:6)
newtotals = ("Client %d" % i,) + tuple(total)
total
是一个数字。你不能把它转换成这样的tuple
; tuple()
类希望您传递一个序列。尝试直接构建您想要的元组:
newtotals = ("Client %d" % i, total)