如何在Python3中合并两个不相等的输入/列表

2024-06-24 12:54:34 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,如果我的格式是错误的,因为这是我第一次张贴在这里。我对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

我不知道我需要做什么来获得正确的输出。你知道吗


Tags: 代码inputoutputjohnsplitwilliamjamesryan
3条回答

我不知道为什么大多数答案都有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
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,因为两者的大小不均匀

这只是对阿里汉的回答的阐述:

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

如果要将其另存为变量:

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

相关问题 更多 >