The Hamming distance in python
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The Hamming distance in python相关的知识,希望对你有一定的参考价值。
需要用到一个zip函数。首先看一下zip函数可以用来干什么:
1 >>> name=(‘jack‘,‘beginman‘,‘sony‘,‘pcky‘) 2 >>> age=(2001,2003,2005,2000) 3 >>> for a,n in zip(name,age): 4 print a,n 5 6 输出: 7 jack 2001 8 beginman 2003 9 sony 2005 10 pcky 2000
再看:
1 x = [1, 2, 3] 2 y = [4, 5, 6, 7] 3 xy = zip(x, y) 4 print xy
运行的结果是:
[(1, 4), (2, 5), (3, 6)]
再看:
1 x = [1, 2, 3] 2 3 y = [4, 5, 6] 4 5 z = [7, 8, 9] 6 7 xyz = zip(x, y, z) 8 9 print xyz
运行的结果是:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
zip函数接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple,然后返回由这些tuples做成的list,这是在python2中,在python3中如下:
1 x = [1, 2, 3] 2 3 y = [4, 5, 6] 4 5 z = [7, 8, 9] 6 7 xyz = zip(x, y, z) 8 print (xyz) 9 <zip object at 0x0325AE40>
即在python3种不是一个list,而是一个迭代器:
1 >>> next(xyz) 2 (1, 4, 7) 3 >>> next(xyz) 4 (2, 5, 8) 5 >>> next(xyz) 6 (3, 6, 9) 7 >>> next(xyz)
利用zip求汉明距离:
>>>str1 = ‘AGCTAGCT‘ >>>str2 = ‘TTCTAGCT‘ >>> diffs = 0 >>> for ch1,ch2 in zip(str1,str2): if ch1 != ch2: diffs += 1 >>>print (diffs)
结果会是2。很方便
以上是关于The Hamming distance in python的主要内容,如果未能解决你的问题,请参考以下文章