返回列表,元素从列表中依次获取/python
我需要帮助将两个列表转换为元素依次从两个列表中获取的位置返回列表,元素从列表中依次获取/python,python,python-3.x,list,loops,Python,Python 3.x,List,Loops,我需要帮助将两个列表转换为元素依次从两个列表中获取的位置 def联合收割机列表(a、b): """ 组合列表([1,2,3],[4])=>[1,4,2,3] 组合列表([1],[4,5,6])=>[1,4,5,6] 组合_列表([],[4,5,6])=>[4,5,6] 组合列表([1,2],[4,5,6])=>[1,4,2,5,6] :参数a:第一个列表 :参数b:第二个列表 :return:组合列表 """ 我尝试的是: # return a[0], b[0], a[1], b[1]
def联合收割机列表(a、b):
"""
组合列表([1,2,3],[4])=>[1,4,2,3]
组合列表([1],[4,5,6])=>[1,4,5,6]
组合_列表([],[4,5,6])=>[4,5,6]
组合列表([1,2],[4,5,6])=>[1,4,2,5,6]
:参数a:第一个列表
:参数b:第二个列表
:return:组合列表
"""
我尝试的是:
# return a[0], b[0], a[1], b[1]
combined_list = []
for x, y in range (len(a), len(b)):
combined_list = a[x], b[y]
return combined_list
看起来你想要:
看起来你想要:
我的答案不像@yatus那么简单,但你可以使用以下方法:
def联合收割机列表(a、b):
组合_列表=[]
对于拉链中的e_a、e_b(a、b):
组合列表。附加(e\u a)
组合列表。附加(e\u b)
len_a=len(a)
len_b=len(b)
如果len_a==len_b:
返回组合列表
如果len(a)>len_b:
返回组合列表+a[len\u b:]
#这意味着len_b大于len_a
返回组合列表+b[len\u a:]
组合列表([1,2,3],[4]) [1, 4, 2, 3] >>>合并列表([1]、[4,5,6]) [1, 4, 5, 6] >>>组合_列表([],[4,5,6]) [4, 5, 6] >>>合并列表([1,2],[4,5,6]) [1, 4, 2, 5, 6]
我的答案没有@yatus那么简单,但您可以使用以下方法:
def联合收割机列表(a、b):
组合_列表=[]
对于拉链中的e_a、e_b(a、b):
组合列表。附加(e\u a)
组合列表。附加(e\u b)
len_a=len(a)
len_b=len(b)
如果len_a==len_b:
返回组合列表
如果len(a)>len_b:
返回组合列表+a[len\u b:]
#这意味着len_b大于len_a
返回组合列表+b[len\u a:]
组合列表([1,2,3],[4]) [1, 4, 2, 3] >>>合并列表([1]、[4,5,6]) [1, 4, 5, 6] >>>组合_列表([],[4,5,6]) [4, 5, 6] >>>合并列表([1,2],[4,5,6]) [1, 4, 2, 5, 6]
我认为这会起作用:
[x for x in itertools.chain.from_iterable(itertools.zip_longest(a, b)) if x is not None]
我认为这是可行的:
[x for x in itertools.chain.from_iterable(itertools.zip_longest(a, b)) if x is not None]
似乎您基本上希望将
循环
记录在案。似乎您基本上希望将循环
记录在案。
[x for x in itertools.chain.from_iterable(itertools.zip_longest(a, b)) if x is not None]