在python中查找两个字符串的唯一组合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中查找两个字符串的唯一组合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1514字,纯文字阅读大概需要3分钟。
内容图文
我有两个字符串:
StringA: ['K', 'T', 'T', 'T', 'K', 'K', 'G', 'T', 'T', 'T', 'T', 'K', 'K']
StringB: ['T', 'K', 'G', 'G', 'K', 'T', 'T', 'K', 'G', 'G', 'K', 'K', 'T']
我想测试字母的独特组合数.字符串是有序的,所以我只想将StringA位置1与StringB位置1相匹配,StringA位置2与StringB位置2相匹配,依此类推.因此,上述字符串中的对是(KT),(TK),(TG),( TG),(KK),(KT),(GT),(TK),(TG),(TG),(TK),(KK),(KT).
共有5种独特的组合:(KT),(TK),(TG),(GT),(KK)
我已使用以下代码从两个.csv文件生成字符串.
import sys
import csv
pairlist = open(sys.argv[1], 'r')
snp_file = open(sys.argv[2], 'r')
pair = csv.reader(pairlist, delimiter=',')
snps = csv.reader(snp_file, delimiter=',')
output = open(sys.argv[1]+"_FGT_Result", 'w')
snp1 = []
snp2 = []
firstpair = pair.next()
locusa = firstpair[0]
locusb = firstpair[1]
f = snps
#search = snp.readlines()
for i, row in enumerate(f):
if locusa in row:
hita = row
#print hita
snp1.append(hita[2])
if locusb in row:
hitb = row
#print hitb
snp2.append(hitb[2])
print snp1
print snp2
pairlist.close()
snp_file.close()
output.close()
但我不知道如何进行比较.当我在另一个线程中阅读时,我试图将字符串转换为集合,这是必需的,但是我不确定为什么,并且无法使其正常工作.
解决方法:
只需使用zip并将其设置为两个字符串列表并获得唯一的组合即可.我使用列表推导返回组合的字符串:
>>> unique = [''.join(x) for x in set(list(zip(StringA, StringB)))]
>>> unique
['TG', 'GT', 'KT', 'TK', 'KK']
另外,如果您只想将它??们放在集合中,则可以删除列表理解:
>>> unique = set(zip(StringA, StringB))
>>> unique
{('T', 'K'), ('T', 'G'), ('K', 'K'), ('K', 'T'), ('G', 'T')}
内容总结
以上是互联网集市为您收集整理的在python中查找两个字符串的唯一组合全部内容,希望文章能够帮你解决在python中查找两个字符串的唯一组合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。