关于Python的str交叉合并的问题!!!

def laceStrings(s1, s2):
    ns1=list(s1)
    ns2=list(s2)
    i=0
    ns3=[]
    if len(s1)==0 and len(s2)==0:
        if len(s1) - len(s2.replace(' ',''))>0:
            return str(s1)
        elif len(s1) - len(s2.replace(' ',''))<0:
            return str(s2)
        else:
            return ''
    while 1:
        ns3.append(ns1[i]+ns2[i])
        i+=1
        if i>=len(ns1) or i>=len(ns2):
            break
    if len(ns3)<len(ns2):
        ns3=ns3+ns2[len(ns3):]
    elif len(ns3)<len(ns1):
        ns3=ns3+ns1[len(ns3):]
    return ''.join(ns3)

print laceStrings('123456', 'abcde')

这就是求合并字符串的一个函数!我觉得空字符串以及空格还有string长度不等啥的都要考虑。。。。。

所以我把这个函数我想到的所有可能报错的地方都放置了条件!但是我觉得这个太长!我又不知道有什么好的方法改,请哥哥们帮忙看看。。。。这个应该有非常简单的定义方法吧。。。。。zip()和flatten是不是可以简单?应该还能用上lst.pop().....我想的还是不完善。。。求解!!!!

以下是测试的一个结果

http://img.mukewang.com/58ea24ec0001a97c08290590.jpg

asdhjhg
浏览 2076回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python