前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|字符串相关问题

Python|字符串相关问题

作者头像
算法与编程之美
发布2020-02-10 11:57:03
3290
发布2020-02-10 11:57:03
举报
文章被收录于专栏:算法与编程之美

问题描述

在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 团队

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档