我無法抓住如何在嵌套for循環時正確輸出正確的輸出順序。嵌套for循環 - 獲取正確的訂單
我有一個整數列表:
[7, 9, 12]
並與DNA序列數據線一個.txt。
>Ind1 AACTCAGCTCACG
>Ind2 GTCATCGCTACGA
>Ind3 CTTCAAACTGACT
我試圖使嵌套的for循環中,取第一個整數(7),經過的文本行,並打印在每個線位置7的charachter。然後取下一個整數,並在每一行的位置9處打印每個字符。
with (Input) as getletter:
for line in getletter:
if line [0] == ">":
for pos in position:
snp = line[pos]
print line[pos], str(pos)
當我運行上面的代碼,我得到了我想要的數據,但在錯誤的順序,就像這樣:
A 7
T 9
G 12
T 7
A 9
G 12
T 7
C 9
A 12
我想是這樣的:
A 7
T 7
T 7
T 9
A 9
C 9
G 12
G 12
A 12
我懷疑這個問題可以通過改變代碼的縮進來解決,但是我無法做到。
------編輯--------
我試圖左右交換兩個循環,但我顯然沒有得到這個更大的圖片給我相同的(錯誤)結果如上。
with (Input) as getsnps:
for line in getsnps:
if line[0] == ">":
hit = line
for pos in position:
print hit[pos], pos
您的打印語句將不**生成第一個輸出;它會打印'A 7','T 9'等,所以字母和位置被交換。 –
我刪除了'python-3.x'標籤;您在這裏使用Python 2,正如「print」是一個聲明所證明的那樣。 –
你如何從'[7,9,12]'列表到'31'和'119'的位置? – abarnert