比如:

str1 = "我是a good boy" str2 = "我是a bad boy"

两者的公共前缀为:我是a

引自 os.path.commonprefix,参数可以是任意数量的listdef commonprefix(m):

if not m: return ''

s1 = min(m)

s2 = max(m)

for i, c in enumerate(s1):

if c != s2[i]:

return s1[:i]

return s1

commonprefix(['我是a good boy', '我是a bad boy'])

如果只需要两个字符串,可以简化为def commonprefix(s1, s2):

for i, c in enumerate(s1):

if c != s2[i]:

return s1[:i]

return s1

os.path.commonprefix((str1, str2))

其实我想说,如果楼主强调的是“中英文混排”这件事的话,那么如果两个字符串的同为unicode,或者采用了相同的字节编码方式的话,应该中英文混排这件事其实是没有区别的。

采用unicode时,每个汉字或者每个英文都是一个完整的字符;采用比如utf-8编码时,每个汉字是3个字节,每个英文是一个字节,那么依然不影响前缀的比较

转化為listdef longestprefix(str1, str2):

if str1 == str2:

return str1

return '' if str1[0] != str2[0] else str1[0] + longestprefix(str1[1:], str2[1:])

Python 3.4 测试可以, 2.x 没尝试

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19164.html

相关文章 Recommend

python中英文混输对不齐_python如何处理中英文混排最长公共前缀问题相关推荐

  1. python查找最长公共前缀_Python实现查找字符串数组最长公共前缀示例

    本文实例讲述了Python实现查找字符串数组最长公共前缀.分享给大家供大家参考,具体如下: 编写一个函数来查找字符串数组中的最长公共前缀. class Solution: def longestCom ...

  2. python查找公共前缀_Python实现查找字符串数组最长公共前缀示例

    本文实例讲述了Python实现查找字符串数组最长公共前缀.分享给大家供大家参考,具体如下: 编写一个函数来查找字符串数组中的最长公共前缀. class Solution: def longestCom ...

  3. python中英文混输对不齐_python中英文混合字符串对齐输出

    #!/usr/bin/env python # -*- coding: utf-8 -*- def is_chinese(uchar): """判断一个unicode是否 ...

  4. Python中最长公共前缀

    最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "". 示例 1:输入: ["flower","flow& ...

  5. 采用分治算法迭代计算最长公共前缀问题(python)

    题目 采用分治算法迭代计算最长公共前缀问题(python) 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入:strs = ...

  6. leetcode--最长公共前缀--python

    文章目录 题目 题目详情 示例 解题思路 代码 运行结果 最佳方案 题目 题目详情 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 ...

  7. python【力扣LeetCode算法题库】14-最长公共前缀(列表解压)

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","fl ...

  8. 【Python】求多个字符串的最长公共前缀

    练习 编写一个函数来查找字符串数组中的最长公共前缀.如果不存在公共前缀,返回空字符串 "" def long_str(li): # 支持中文字符 result='' for i i ...

  9. python中 r是什么意思_python中\r的意义及用法

    \r的意义 \r 表示将光标的位置回退到本行的开头位置 \b表示将光标的位置回退一位 在python里print会默认进行换行,可以通过修改参数让其不换行 (1) python2中可以在print语句 ...

  10. 【Python】LeetCode刷题之最长公前缀,思路2求最小和最大的公前缀

    文章目录 最长公前缀 题目 解题思路 取出字符串的位置以及字符 比较同位置的字符是否相同 代码 提交结果 也可以排序 最长公前缀 题目 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前 ...

最新文章

  1. CSP 201912-2 回收站选址 python实现+详解
  2. 我的第一个VUE示例
  3. AR行业成本拆解解析
  4. K - TimesIsMoney(查询)
  5. RocketMQ的历史发展
  6. Windows Media Center .MCL文件代码执行漏洞(MS16-059)
  7. 与Maven和Docker的集成测试
  8. 前端技术之_CSS详解第五天
  9. linux中逻辑块大小为,Linux 文件系统相关的基本概念
  10. 因计算机中丢失msvcr120.dll,msvcr120.dll一键修复工具 | 麦田一棵葱
  11. Python:常见排列组合问题处理
  12. JAVA中数字转大写字母_java实现数字转大写
  13. 如何使用条形码字体在Crystal Report中创建代码39?
  14. AI笔记: 数学基础之反函数和6个基本初等函数
  15. 仿小米官网首页 动态交互(HTML+css+jq)1.通栏以及logo部分
  16. 3、说说amp;和amp;amp;的区别。
  17. REVERSE-COMPETITION-HGAME2022-Week3
  18. 让我们红尘作伴活得潇潇洒洒
  19. mysql 删除重复数据只保留一条记录
  20. 某人的酒量大叫海量,你见过最多一次喝多少酒的人(喝醉不算)?

热门文章

  1. 利用GDAL进行工具开源化改造
  2. codevs 1946 阿狸的打字机
  3. C#string与char互转
  4. 【原】Python基础-__init__
  5. 基于Monorail的系统功能模块化
  6. nvidia显卡cuda的性能_苦等10年!512 CUDA满血GTX 480终于出现:性能提升6%、功耗暴增43%...
  7. 拓端tecdat|Python银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机svm分析营销活动数据
  8. python自动化笔记_python自动化学习笔记(一)
  9. 7-12 文件传输 (25 point(s))
  10. 基于内容的图像检索技术:从特征到检索