Python中文
首页
教程
问答
标签
搜索
登录
注册
如何使for循环使用两个字符串?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两个字符串要比较。问题是我不知道如何在同一时间迭代地分割这两个部分,然后在每个部分上运行比较代码切片。在下面是我的代码,我尝试在for循环中使用for循环(每个字符串对应一个)来运行它,它没有出现任何错误,但只有第一个字符串被迭代地切片并打印到屏幕上。第二次尝试是将两个for循环合并在一起,但是出现了错误消息,这清楚地解释了失败的原因,但是我不知道解决这个错误的方法。你知道吗</p> <p>for循环中的for循环代码</p> <pre><code>for i in range(8, len(seq1)): seq1i = seq1[0:i] print seq1i for i in range(8,len(seq2)): seq2i = seq2[0:i] print seq2i for c1, c2 in zip(seq1i, seq2i): if c1 == c2: counter += 1 else: break print "String share the longest common prefix of length %d: %s" % (counter, seq1[:counter]) if counter >= 8: print " Match found, match length %d" % counter </code></pre> <p>尝试合并for循环:</p> <pre><code>for i1,i2 in range(8,len(seq1, seq2)): for c1, c2 in zip(seq1i, seq2i): if c1 == c2: counter += 1 else: break print "String share the longest common prefix of length %d: %s" % (counter, seq1[:counter]) if counter >= 8: print " Match found, match length %d" % counter </code></pre> <p>这导致了错误:</p> <pre><code>TypeError Traceback (most recent call last) <ipython-input-26-9c4822069792> in <module>() ----> 1 for i1,i2 in range(8,len(seq1, seq2)): 2 for c1, c2 in zip(seq1i, seq2i): 3 if c1 == c2: 4 counter += 1 5 else: TypeError: len() takes exactly one argument (2 given) </code></pre> <p>我认为必须有一种方法,在这种方法中,字符串的每个迭代切片都将发生,并且当它们被生成时,匹配的(如果c1==c2)代码可以运行。你知道吗</p> <p>想要的结果是:</p> <p>如果序列1和序列2:</p> <pre><code>seq1 = 'ATCGATCGATCGAAAA' seq2 = 'ATCGATCGATCCCCCC' A A AT AT ATC ATC ATCG ATCG ATCGA ATCGA ATCGAT ATCGAT ATCGATC ATCGATC ATCGATCG ATCGATCG ATCGATCGA ATCGATCGA ATCGATCGAT ATCGATCGAT ATCGATCGATC ATCGATCGATC String share the longest common prefix of length 10:ATCGATCGATC </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>尽管来自<code>os.path</code>模块,但是您应该使用<code>os.path.commonprefix</code>来实现这一点。你知道吗</p> <pre><code>>> s1 = 'GATTACA' >> s2 = 'GATTCCC' >> os.path.commonprefix([s1,s2]) 'GATT' </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python3x中以垂直和水平的方式格式化列表?
10 回答
如何在python3x中创建datetime对象
3 回答
如何在python3x中取消pickle一个在python2.7中被pickle的模型?
4 回答
如何在python3x中格式化字典键
4 回答
如何在python3x中正确地通过sockets发送字典的内容?
1 回答
如何在python3x中调用if语句中的类和函数
5 回答
如何在Python3上三取二列表
7 回答
如何在python3上为方法搜索RegEx创建模式?
2 回答
如何在Python3上使用HTMLUnit和Selenium 2.45.0
10 回答
如何在Python3上使用telebot发送没有bot.polling()的消息
10 回答
如何在python3上使用Tkinter更新GUI?
9 回答
如何在python3上使用urllib和代理对HTTPS页面发出请求
7 回答
如何在Python3上制作按键
10 回答
如何在python3上发布图像和文本多部分表单?
7 回答
如何在Python3上安装Bob?
9 回答
如何在python3上安装Django?
3 回答
如何在python3上安装第三方模块
5 回答
如何在Python3上安装袖扣?
2 回答
如何在python3上打印当前日期?
6 回答
如何在Python3上执行此javascript代码?
2 回答