我在Python 2.7和#34中遇到以下错误;需要超过0的值来解压缩"当我执行这些行时:
for row, row2 in results, results2:
row = list(row)
row2 = list(row2)
row2[7] += row[7]
目标是在results2中添加value0,在results2中添加value0,然后在results2中使用value1在结果中添加value1,...我使用" fetchall()" psycopg2模块的功能。
有人可以帮助我吗?
非常感谢
答案 0 :(得分:0)
我不确定我理解你的问题,但是如果你想用第二个元组中的第一个元素添加第一个元组中的第一个元素,你可以很容易地做到这一点。
>>> tup = [(1,1),(2,2),(3,3)]
>>> tup1 = [(4,4),(5,5),(6,6)]
>>> tup
[(1, 1), (2, 2), (3, 3)]
>>> tup1
[(4, 4), (5, 5), (6, 6)]
>>> x1 = [x[0] for x in tup]
>>> x2 = [x[0] for x in tup1]
>>> x1
[1, 2, 3]
>>> x2
[4, 5, 6]
>>> list(zip(x1,x2)) #if you want to create another tuple
[(1, 4), (2, 5), (3, 6)]
>>> x1.extend(x2) #if you want to make a list
>>> x1
[1, 2, 3, 4, 5, 6]
在这种情况下,元组的长度无关紧要。
答案 1 :(得分:0)
我会使用map和zip来完成这项工作:
from operator import add
list1 = [(1,2), (3,4), (5,6)]
list2 = [(7,8), (9,10), (11,12)]
list3 = [map(add, row1, row2) for row1 row2 in zip(list1, list2)]