合并这两个列表以获得python中所需的输出

合并这两个列表以获得python中所需的输出,python,Python,列表1=[th,sk,is,bl] 列表2=[ue,无,y,e] 输出=天空是蓝色的 合并两个给定列表并组合它们的元素以获得所需的输出。您好,您可以使用zip和列表理解来完成: List1 = ['th','sk','is','bl'] List2=['ue',None,'y','e'] temp = list(zip(List1, List2[::-1])) words = [i[0]+i[1] for i in temp] words = [''.join(item for item in

列表1=[th,sk,is,bl] 列表2=[ue,无,y,e]

输出=天空是蓝色的

合并两个给定列表并组合它们的元素以获得所需的输出。

您好,您可以使用zip和列表理解来完成:

List1 = ['th','sk','is','bl']
List2=['ue',None,'y','e']
temp = list(zip(List1, List2[::-1]))
words = [i[0]+i[1] for i in temp]
words = [''.join(item for item in i if item) for i in temp]
" ".join(item for item in words)

列表2[:-1]将颠倒列表。

这里是我刚刚写的一些,不确定它是否是最具python风格的,但下面是:

List1 = ["th","sk","is","bl"]
List2 = ["ue",None,"y","e"]

concat = ""
for i in range(len(List1)):
    concat += List1[i]
    if List2[len(List2)-1-i]: concat += List2[len(List2)-1-i]
    concat += " "
print(concat)
预期产出:

the sky is blue
我得到:

>>> print(concat)
the sky is blue
>>>
但正如前面提到的,这个网站的目的是教而不是做。因此:

List1 = ["th","sk","is","bl"]
List2 = ["ue",None,"y","e"]
concat = ""
我们首先定义列表和连接变量,在其中添加部分

for i in range(len(List1)):
这适用于列表1中的所有项目-我可以只键入4,但这使将来的可扩展性变得容易

concat += List1[i]
列表1的顺序正确,数组从0开始。因此,首先我们有[0],第一项,到[3],最后一项

if List2[len(List2)-1-i]: concat += List2[len(List2)-1-i]
因为列表2中有一个None,所以不能将NoneType连接到字符串。因此,我们测试它是否实际上是一个值,只需执行“if string:”。如果是,则将其附加到串联变量。我这样做的原因是2-1-I:

清单2是4长的 我们从i=0开始

4-1-0 = 3
4-1-1 = 2
4-1-2 = 1
最后, 4-1-3=0

您会注意到,这些索引与我们在列表1中使用的索引相同,但与列表2相反

concat += “ “
我们在单词之间加上空格,最后

print(concat)

我们将结果打印出来

这不是编码服务,如果您有具体问题需要帮助,请尝试一下,然后回来。获得预期输出的逻辑是什么?到目前为止您尝试了什么?