Python针对给定字符串求解所有子序列是否为回文序列的方法


Posted in Python onApril 21, 2018

本文实例讲述了Python针对给定字符串求解所有子序列是否为回文序列的方法。分享给大家供大家参考,具体如下:

问题:

给定一个字符串,得到所有的子序列,判断是否为回文序列

思路:

对字符串遍历切片即可

下面是具体实现:

#!usr/bin/env python
# -*- coding:utf-8 -*-
'''''
__AUthor__:沂水寒城
功能:对指定字符串寻找所有回文子序列
'''
def is_huiwen(one_str_list):
  '''''
  输入一个字符串列表,判断是否为回文序列
  '''
  if len(one_str_list)==1:
    return True
  else:
    half=len(one_str_list)/2
    if len(one_str_list)%2==0:
      first_list=one_str_list[:half]
      second_list=one_str_list[half:]
    else:
      first_list=one_str_list[:half]
      second_list=one_str_list[half+1:]
    if first_list==second_list[::-1]:
      return True
    else:
      return False
def get_list_all_sub_list(num_list):
  '''
  输入一个列表,返回该列表所有的子列表,这里定义的空列表不属于子列表,故:子列表最小长度为1
  '''
  if len(num_list)==1:
    return [num_list]
  sub_list=get_list_all_sub_list(num_list[:-1])
  extra=num_list[-1:]
  temp_list=[]
  for one in sub_list:
    temp_list.append(one+extra)
  return sub_list+temp_list
def slice_func(one_str):
  '''''
  '''
  result_list=[]
  for i in range(1,len(one_str)):
    result_list.append(one_str[:i])
    result_list.append(one_str[i:])
  result_list+=list(one_str)
  result_list.append(one_str)
  return list(set(result_list))
def main_func2():
  '''''
  主调用函数
  '''
  str_list=['abdc','abba']
  for one_str in str_list:
    result_list=slice_func(one_str)
    print '-----------------------------------------------'
    for one in result_list:
      if is_huiwen(list(one)):
        print one+'是回文序列'
def main_func1():
  '''''
  主调用函数
  '''
  str_list=['abdc','abba']
  for one_str in str_list:
    one_str_list=list(one_str)
    one_all_sub_list=get_list_all_sub_list(one_str_list)
    print '------------------------------------------------'
    print one_all_sub_list
    for one in one_all_sub_list:
      if is_huiwen(one):
        print ''.join(one)+'是回文序列'
if __name__ == '__main__':
  print "三水点靠木测试结果:"
  main_func2()

结果如下:

Python针对给定字符串求解所有子序列是否为回文序列的方法

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Django集成百度富文本编辑器uEditor攻略
Jul 04 Python
git进行版本控制心得详谈
Dec 10 Python
Python 查看list中是否含有某元素的方法
Jun 27 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
Python3中urlencode和urldecode的用法详解
Jul 23 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
Python实现屏幕录制功能的代码
Mar 02 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python实现图片转字符画
Feb 19 Python
PYTHON InceptionV3模型的复现详解
May 06 Python
Django项目实战之用户头像上传与访问的示例
Apr 21 #Python
基于Python 装饰器装饰类中的方法实例
Apr 21 #Python
使用python装饰器计算函数运行时间的实例
Apr 21 #Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 #Python
Python 实现一行输入多个值的方法
Apr 21 #Python
Python实现接受任意个数参数的函数方法
Apr 21 #Python
深入分析python数据挖掘 Json结构分析
Apr 21 #Python
You might like
php获取Google机器人访问足迹的方法
2015/04/15 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
python关于调用函数外的变量实例
2019/12/26 Python
澳大利亚汽车零部件、音响及配件超市:Automotive Superstore
2018/06/19 全球购物
new修饰符是起什么作用
2015/06/28 面试题
农场厂长岗位职责
2013/12/28 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
庆祝儿童节标语
2014/10/09 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
Redis 限流器
2022/05/15 Redis