我需要这样做:
from collections import deque
def list3_to2(list1, list2, list3):
Left = []
Right = []
q = deque()
for a, b, c in list1, list2, list3:
q.append(a)
q.append(b)
q.append(c)
tmp = 1
while q:
if tmp % 2 == 0:
Left.append(q.popleft())
else:
Right.append(q.popleft())
tmp += 1
return Left, Right
a = ['a', 'b', 'c']
b = ['d', 'e', 'f']
c = ['g', 'h', 'i']
l, r = list3_to2(a, b, c)
print(l)
print(r)
但结果我没有两个列表,而是有四个列表。 输出:
['b', 'd', 'f', 'h']
['a', 'c', 'e', 'g', 'i']
['b', 'd', 'f', 'h']
['a', 'c', 'e', 'g', 'i']
我做错了什么? 基本上我需要使用具有正确顺序的双端队列将3个列表转换为2个列表。
答案 0 :(得分:0)
感谢大家。我知道了。我的功能只是返回一个元组。这就是我在变量l和r中得到两个列表的原因。只需输入l = list3_to2(a, b, c)[0]
和r = list3_to2(a, b, c)[1]