python - 在不同长度的字符串中查找不同的字符
问题描述
我有一些代码可以找到字符串之间的差异。目前它适用于相同长度的字符串,但我试图让它适用于不同长度的字符串。我怎样才能做到这一点
我添加了一个新变量longest_seq
来尝试解决这个问题,但我不确定如何使用它。
ref_seq = "pandabears"
map_seq = "pondabear"
longest_seq = map_seq
if len(ref_seq) > len(map_seq):
longest_seq == ref_seq
for i in range(len(longest_seq)):
if ref_seq[i] != map_seq[i]:
print i, ref_seq[i], map_seq[i]
解决方案
对于 Python 2,您可以使用itertools.izip
:
from itertools import izip
for i, j in izip(ref_seq, map_seq):
if i != j:
print i, j
输出:
a o
在 Python 3 中,您可以使用内置zip
函数:
for i, j in zip(ref_seq, map_seq):
if i != j:
print(i, j)
zip
存在于 Python 2 中,但itertools.izip
建议使用它,因为它按需生成元组(在每次迭代中它生成一个新元组)而不是一次构建所有元组,在 Python 3 中,在 Python 2zip
中所做itertools.izip
的。
推荐阅读
- tensorflow - 在 tensorflowJS 上加载模型时出现问题,arrayBuffer 上的 typedArray 越界
- javascript - 如何使用 Ionic 3 记录并保存应用程序中的每个点击操作?
- python - 熊猫数据框追加问题
- javascript - 使用打字稿和默认值解构嵌套参数
- python - 制作一个按钮,使其大小适应它在 tkinter 中包含的文本
- laravel - laravel 使用带有 except 方法的验证请求
- jquery - 如何检查 setTimeout 计时器内的伪元素悬停状态?计时器导致错误
- javascript - 如何缓存图像数组?
- swift - Swifty-JSON:无法解析下划线
- mongodb - mongodb mongo-go-driver Decimal128 中的高低值是多少以及如何使用它们来创建新的小数