如何在python 3中的两个变量中返回两个列表

时间:2018-06-05 13:21:42

标签: python-3.x list

我需要这样做:

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个列表。

1 个答案:

答案 0 :(得分:0)

感谢大家。我知道了。我的功能只是返回一个元组。这就是我在变量l和r中得到两个列表的原因。只需输入l = list3_to2(a, b, c)[0]r = list3_to2(a, b, c)[1]

即可