在python 3x中将文本列转换为行

时间:2018-12-23 03:52:25

标签: python python-3.x

输入文字图片

我正在使用以下代码将列转换为文本中的行。 我的要求是找到文本

中每一列中每个字符的计数
b=[''.join(i) for i in zip(*a2.split())]
print(b)

我的输入低于输入值

['CCACTCGT', 'GTGGCCCC', 'AGCACTGC', 'CCTGCAGA', 'TTTAACCA', 'CGTACCTC', 'CACCCCCA', 'CGCCCCTT', 'GCTCCATG', 'CCAAAGGA', 'GCTCGCCT', 'ACTCACCC', 'ATCCTGGG', 'GGAACGCT', 'ACATCCTG', 'CGGCTTGC', 'TCAACCCG', 'TACGCGTT', 'GTCATCGT', 'ACAGAACC', 'CCCCCCTC', 'CACCCTGT', 'CACTTCCG', 'CGACTTCC', 'AGCCTCGA', 'AACCTGCA', 'ACTTCGTG', 'GCCTTCGT', 'CCTCGTCG', 'TTGCGGTC', 'CTGAGTGA', 'GCTCGGTG', 'GTACACGC', 'GCCTGCGT', 'CGCCAGCG', 'GGATCGTA', 'CAGGCGGG', 'ATACCGCG', 'CCTTCGTC', 'CCCCTGAC', 'CGTCCCGC', 'CGCTAGTC', 'CGGCGCGG', 'CACCCCCC', 'TGCGCGTC', 'GACTCCGC', 'CCATCCAC', 'AGTCTTCG', 'CGCTGCGC', 'AATCTCCC', 'CACCACCC', 'TTGCGCTA', 'TCGTGCGC', 'CTTGGAGA', 'CGTAGTCG', 'CTTGCGCC', 'CCTAGCGC', 'ATTGGCGC', 'CCTCGGCC', 'TACCGCCG', 'CGCTCCGC', 'TAGCCTGC', 'CCTATTCC', 'ACAACCCA', 'GTGCCGGC']

您可以看到文本的最后5列不在列表中。 我无法弄清楚为什么会发生这种情况。我们将不胜感激。 另外,请提出是否还有其他方法可以达到相同的结果。

1 个答案:

答案 0 :(得分:1)

zip返回的元组与最短迭代中的项一样多,因此仅返回完整的列。要获取所有列,可以使用zip_longest,如下所示:

from itertools import zip_longest
b = [''.join(i) for i in zip_longest(*a2.split(), fillvalue='')]