在Python中使用列表整数纠正多个循环的语法

时间:2019-03-02 07:26:59

标签: python list iteration

我正在处理基本上是以下内容的循环

MyList = ['cttgaaat',attcggat',gtatcaag'...] 

for value in text_file:
     print(key_nucleotide_position) 

key_nucleotide_position是文本文件中的给定数字, 返回这样的内容

In [1]: 1
        3
        5
        7
        ...

我正在尝试一个看起来像这样的for循环

for value in MyList: 
     print(value[key_nucleotide_position])
     print('\n')

但是,不是打印我想要的,而是

t
t
t

g
c
t

a
g
a

t
t
g

我只得到这个

t

t

g 

当我在另一个for循环中放置一个for循环时,我设法使其正常工作,但这只是给了我这种格式的超长核苷酸序列(497行)

a
t
t
g
g
c
g
...

我知道如何分析,但不知道如何按照我希望的方式进行拆分,即每91个核苷酸-即使如此,返回值对于核苷酸的数量也没有意义我应该知道

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

最简单的帮助方法是提供完整的详细信息。我会推断这与学校有关,并尝试为您指明正确的方向。发布可复制的示例非常有帮助,以便某人可以轻松地重新创建设置并进行故障排除。如果文件较长,请尝试使用gistspastebin之类的东西。

根据您的描述,我认为您有:

  • 小序列列表
  • 一个数字文本文件,每行一个

我认为您想获取n序列的列表,遍历key_nucleotide_position整数文件中的整数,并提取ith的{​​{1}}元素?

让我们逐步了解您的工作,首先了解您如何遍历MyList

MyList

假设一个数字(例如MyList = ['cttgaaat', 'attcggat', 'gtatcaag'] for value in MyList: print(value) cttgaaat attcggat gtatcaag )存储在变量3中,则您需要在每个循环中执行此操作:

key_nucleotide_position

使用MyList = ['cttgaaat', 'attcggat', 'gtatcaag'] for value in MyList: print(value[3]) 中的第一个值,让我们看看它的作用:

MyList

您要根据整数切片从字符串中提取'cttgaaat'[3] g 字符。

这个问题尚不完全清楚,但是我想您可能想扭转这一点,并从 list 中获得ith项,而不是ith字符在字符串中。

即考虑:

ith

现在,让您的MyList[1] 'attcggat' 循环循环,以便forMyList[foo]更改为每个循环所需的内容。