繁体   English   中英

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

[英]Correct syntax for multiple loops with list integers in Python

我正在研究基本上如下的循环

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个核苷酸-即便如此,返回值对于我应该得到的核苷酸数也没有意义。

任何帮助,将不胜感激。

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

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

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

我想你想利用你的列表n序列,通过您的文件中的整数迭代key_nucleotide_position整数,并提取ith元素MyList

让我们来看一下您正在做的事情,首先看看您如何遍历MyList

MyList = ['cttgaaat', 'attcggat', 'gtatcaag']
for value in MyList: 
     print(value)

cttgaaat
attcggat
gtatcaag

假设在变量key_nucleotide_position存储了一个数字(例如3 ),则需要在每个循环中执行此操作:

MyList = ['cttgaaat', 'attcggat', 'gtatcaag']
for value in MyList:
     print(value[3])

使用MyList的第一个值,让我们看看它的作用:

'cttgaaat'[3]
g

您正在根据整数切片从字符串中提取第ith字符。

这个问题尚不完全清楚,但是我想您可能想反转一下并从列表中获取第ith项目,而不是字符串中的ith字符。

即考虑:

MyList[1]

'attcggat'

现在,让您的for循环循环进行,这样MyList[foo]会将foo更改为您希望在每个循环上执行的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM