簡體   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