如何在 Python3 中合并两个不相等的 input/list

How do you merge two unequal input/list in Python3

抱歉,如果我的格式有误,因为这是我第一次在这里发帖。我是 Python3 的新手,所以我的问题可能看起来很基础。我已经在下面发布了输入和输出。

Input1: James Ryan

Input2: John Becky William Isaac

Output: James John Ryan Becky William Isaac

我目前的代码

Enter1 = input('').split()
Enter2 = input('').split()
Enter3 = (' ').join(x for i in zip(Enter1, Enter2) 
for x in i)
print(Enter3)

我当前的代码给出了以下内容:

Input1: James Ryan

Input2: John Becky William Isaac

Output: James John Ryan Becky

我不太清楚我需要做什么才能获得正确的输出。

这只是在阐述 Arihant 的回答:

Enter3 = Enter1 + Enter2
for all in Enter3:
    print(all)

如果要保存为变量:

output = []
for all in Enter3:
   output.append(all)
string_output = " ".join(output)
print(string_output)

我不知道为什么大多数答案都有 list1+list2,因为它只会附加不是预期输出的列表。您可以尝试以下操作。从您提供的示例中获取顺序,其中一个元素来自较小的列表,另一个来自较大的列表。

input1='John Becky William Isaac'
input2='James Ryan'
input1=input1.split(' ')
input2=input2.split(' ')
new=[]

max_list,min_list=(input1,input2) if len(input1)>len(input2) else (input2,input1)

for i in range(len(min_list)):
    new.append(min_list[i]+' '+max_list[i])
new += max_list[len(min_list):]
print(' '.join(new)) # James John Ryan Becky William Isaac

您需要扩展较小的列表以使其大小与另一个相同。

delta = ans(len(Enter1) - len(Enter2))
lst_to_append = [''] * delta

if len(Enter1) < len(Enter2):
    Enter1.extend(lst_to_append)
else:
    Enter2.extend(lst_to_append)

按原样使用您的 Enter3 代码。

from itertools import zip_longest

name3 = list(zip_longest(name1.split(), name2.split(), fillvalue = ''))
print(' '.join([j for i in name3 for j in i]))
James John Ryan Becky  William  Isaac

如果你想在这里使用 zip,它必须是 zip_longest,因为两者的大小不均匀