【发布时间】:2012-04-27 23:59:25
【问题描述】:
我在一个文件中有以下几行。这是一行的示例:
近乎_???? chr12 - 10 110 10 110 3 10,50,100, 20,60,110,
我有以下代码来获取信息:
fp = open(infile, 'r')
for line in fp:
tokens = line.split()
exonstarts = tokens[8][:-1].split(',')
exonends = tokens[9][:-1].split(',')
这会给我一个像这样的列表:
exonstarts = [10,50,100]
exonends = [20,60,110]
这有 3 个外显子(尽管文件中的其他行可能多于或少于 3 个,所以这必须适用于任意数量的外显子),它们来自:
10-20
50-60
100-110
因此,对于开始列表中的每个数字,在完成列表中都有一个。 这意味着第一个密码子从 exonstarts[0] 开始并在 exonends[0]。第二个从 exonstarts[1] 开始,在 exonends[1] 结束。 以此类推。
如何编写此代码的其余部分,以便将元素配对?
更新:
来自:
tokens = line.split()
exonstarts = tokens[8][:-1].split(',')
exonends = tokens[9][:-1].split(',')
zipped = list(zip(exonstarts, exonends))
我还有一个问题,我想要这些东西。所以例如,我想要chr_string[10:20]+chr_string[50:60]+chr_string[100:110] 有什么方法可以让我轻松地说出这个吗??
【问题讨论】:
-
很抱歉这个菜鸟编程问题。我真的需要一些帮助来解决我遇到的时间紧迫问题
-
无需向帕特里克道歉,这就是该网站的目的:)
-
@PatrickCampbell:一般来说,您最好打开一个新问题来进行类似的跟进。
-
关于您的第二个问题:尝试运行该代码。它应该可以工作。
-
哦,我知道它会起作用,但考虑到我会有一个可变的数字和长度列表,我不能简单地写出来。我需要某种变量或包含在其中的东西