Python 如何将两个字符串中的字母依次混在一起

Python 如何将两个字符串中的字母依次混在一起,python,Python,事实证明,这是一个扩展,可以做到这一点。例如: “hello world”变为“HweollLod”,其中是来自hello的第一个字母,来自world的第一个字母,依此类推。如果这两个单词的长度相同,您可以使用zip: ''.join(x for p in zip(*"hello world".split(" ")) for x in p) # 'hweolrllod' ''.join(x for p in zip("hello", "world") for x in p) # 'hweolr

事实证明,这是一个扩展,可以做到这一点。例如:
“hello world”变为“HweollLod”,其中是来自hello的第一个字母,来自world的第一个字母,依此类推。

如果这两个单词的长度相同,您可以使用
zip

''.join(x for p in zip(*"hello world".split(" ")) for x in p)
# 'hweolrllod'

''.join(x for p in zip("hello", "world") for x in p)
# 'hweolrllod'
如果它们的长度不相同,并且您希望保留较长的版本,请使用:


回答很好,我投了更高的票,但如果你使用更多的描述性变量,那就更容易理解了,如
“”。join(char-for-pair-in-zip(*“hello-world”。split(“”)for-char-in-pair)
。是否有办法将每个字母移动一定量,例如edit*是否有办法将每个字母移动一定量,例如hello-world。如何将hello中的e向右移动,以及移动多少。请用最简单的形式!
from itertools import zip_longest    
''.join(x for p in zip_longest(*"he world".split(" "), fillvalue='') for x in p)
# 'hweorld'

''.join(x for p in zip_longest("he", "world", fillvalue='') for x in p)
# 'hweorld'