【问题标题】:Correct syntax for multiple loops with list integers in PythonPython中具有列表整数的多个循环的正确语法
【发布时间】:2019-03-02 07:26:59
【问题描述】:

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

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

for value in text_file:
     print(key_nucleotide_position) 

key_核苷酸位置是来自文本文件的给定数字,它将 返回类似的东西

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 个核苷酸 - 即使那样,返回值对于核苷酸的数量并不完全有意义我应该得到。

任何帮助将不胜感激。

【问题讨论】:

  • 能否请您更正第一段代码 sn-p 中的语法。 information_file 是什么?
  • 欢迎来到 SO。请以适当且格式正确的方式提出您的问题。

标签: python list iteration


【解决方案1】:

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

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

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

我想你想获取n 序列列表,遍历key_nucleotide_position 整数文件中的整数,并提取MyListith 元素?

让我们看看你在做什么,首先看看你是如何遍历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

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

从问题中并不清楚,但我猜您可能想要反转这个并从 list 中获取 ith 项目,而不是字符串中的 ith 字符。

即考虑:

MyList[1]

'attcggat'

现在,让您的 for 循环循环,以使 MyList[foo] 在每个循环中将 foo 更改为您想要的。

【讨论】:

    猜你喜欢
    • 2010-10-05
    • 2020-10-04
    • 1970-01-01
    • 2021-11-20
    • 2019-08-26
    • 2023-02-08
    • 2022-08-13
    • 2021-07-19
    • 1970-01-01
    相关资源
    最近更新 更多