所以,我试图“合并”一个字符串(a
)和一个字符串列表(b
):
a = '1234'
b = ['+', '-', '']
要获得所需的输出(c
):
c = '1+2-34'
所需输出字符串中的字符在字符串和列表之间按原点交替。此外,该列表将始终包含一个小于字符串中字符数的元素。我想知道最快的方法是什么
到目前为止,我掌握的情况如下:
c = a[0]
for i in range(len(b)):
c += b[i] + a[1:][i]
print(c) # prints -> 1+2-34
但我觉得有更好的方法
Tags:
您可以使用^{} 来
zip
这两个序列,然后即使在较短的序列用完字符后也继续迭代。如果您用完了字符,您将开始返回None
,所以只需使用其余的数字字符正如注释中建议的@deceze,还可以将
fillvalue
参数传递给zip_longest
,后者将插入空字符串。我建议用他的方法,因为它可读性好一点@ShadowRanger建议的进一步优化是删除临时字符串连接(} 调用替换它们
i+j
),并用^{相关问题 更多 >
编程相关推荐