【发布时间】:2015-04-09 13:59:21
【问题描述】:
我有两个字符串:
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函数。这就是你需要做的一半。
标签: python string python-2.7 compare unique