任何人都可以帮我完成以下2.7 Python任务吗? [添加/排序列表]

时间:2015-04-11 03:50:47

标签: python list python-2.7 sorting

编写一个名为interleave的函数,它接受三个列表作为参数,并返回一个列表,该列表是所有三个列表的组合。请注意,应按以下示例中的顺序排序复合列表: 如果这三个清单是

x = ['a', 'b']
y = [1, 2]
z = ['orange', 'apple']

那么复合列表应该是

['a', 1, 'orange', 'b', 2, 'apple'].

您可以假设所有输入列表的长度都相同。

我可以添加列表;但是,我无法将复合列表排序为赋值的方式。以下是我到目前为止:

x = [ 'a', 'b']
y = [1, 2]
z = [ 'orange', 'apple'] 
composite = []
for element in x, y, z:
    composite.append(element)
print composite

1 个答案:

答案 0 :(得分:1)

您可以使用list_comprehension

>>> x = ['a', 'b']
>>> y = [1, 2]
>>> z = ['orange', 'apple']
>>> [j for i in zip(x,y,z) for j in i]
['a', 1, 'orange', 'b', 2, 'apple']

将其作为一种功能。

def fun(x,y,z):
    return [j for i in zip(x,y,z) for j in i]
x = ['a', 'b']
y = [1, 2]
z = ['orange', 'apple']
print fun(x,y,z)