您当前的位置: 首页 >  Python

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python|字符串相关问题

发布时间:2020-01-02 00:00:00 ,浏览量:0

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

在python中经常遇到一些关于求字符串的问题,比如;找出最长回文字符串,找出字符串中不含重复字符的最长字符串,这时我们总是被这些问题给难住,该如何解决呢?

解决方案

这些问题我们主要从字符串中的性质去分析,可以利用列表的变化来找出字符串的变化,从而来解决问题;例如我们在解决找出最长字符回文串时便采用了这一种方法:

代码示例:

def raw(k):

    s=[]

    for u in k:

        s.append(u)              

    s.reverse()

    return (''.join(s))

p=[]

n=input('请输入字符串:')

for a in range(len(n)+1):

        for b in range(len(n)+1):

            k=n[b:a]

            if k==raw(k):

                p.append(k)

print(max(p))

首先我们先定义一个可以从k中取出所有字符串的列表s,在输出时将列表s的值返回一个新的字符串,将返回的字符串的逆序,然后在与原字符串k作比较,得出满足条件的值。

对于第二个问题,找出字符串中不含重复字符的最长字符串,我们要注意一个特别重要的函数set(),主要是要运用该函数的性质,能够返回一个不重复且无序的字符串。

代码示例:

def raw(n):

    k=[]

    for b in range(len(n)+1):

        for a in range(1,b):

            if len(n[a:b])==len(set(n[a:b])):

                l=n[a:b]

                k.append(len(l))         

    return max(k)

print(raw('abcabc'))

其中还是set()的性质来完成的该题。

结语

不断地去掌握一些函数的性质,可以更快的解决这些问题,成倍的提升做题效率,总结就是惊人的效率是通过不断的训练出来的。

END

实习编辑   |   王文星

责       编   |   王卓越

 where2go 团队

   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3588s