2013-03-09 68 views
0

所以對於一個家庭作業,我要像切片我怎樣才能去拼接一個字符串來創建只使用最後一個字符串的一部分的新字符串?

GENE="ATGAGTGATGATGTA 

一個字符串,並創造新詞(GENE2GENE3GENE4,等...)

這是分配:

從單詞GENE1="ATGTTGATGTG"開始,
編寫一個Python程序,創建新單詞GENE2GENE3GENE4GENE5這樣的:

  • GENE2只包含GENE1
  • GENE3最後兩個字母只包含GENE1
  • GENE4的前兩個字母只包含在位置2,4,6,8和10的字母在GENE1
  • GENE5只包含GENE1
第3個最後3個字母3210

這非常含糊,我所能想到的只是刪除不想要的信件,但這就是教授給我們的所有要求。

這是一個好的開始?

GENE1 = ['A','T','G','T','T','G','A','T','G','T','G'] 
+0

請問您能澄清一下您想要的嗎? (即提供預期的輸出等) – Volatility 2013-03-09 10:10:14

+0

你可以嘗試澄清這個問題嗎? 「GENE =」ATGAGTGATGATGTA「有三個括號,所以我對這個字符串是什麼感到困惑?它是一個變量'GENE'持有DNA序列的字符串嗎?還是包含等號的字符串? – FakeRainBrigand 2013-03-09 10:12:20

+0

說明很明確。首先嚐試自己解決問題。 – Blender 2013-03-09 10:13:52

回答

0

是的,你應該開始工作,但您可能需要使用字符串的連接方法..

另外,您應該知道,就像list一樣,字符串(或str)是一個容器。
這意味着你可以切片和指數的字符串,像

>>> x = 'abcdefghij' 
>>> x[0] 
'a' 
>>> x[5:] 
'fghij' 
>>> x[::3] 
'adgj' 
>>> x[-1] 
'j' 

好像你的教授要你學這學切片,並用它們...

考慮閱讀this page
或者至少,這兩個部分在StringsLists(在同一頁上)

+0

事實證明,我發佈了與grc和Benjimin相同的鏈接,但是沒有意識到即使他們發佈了相同的鏈接... :) – pradyunsg 2013-03-09 12:03:49

1

是的,你的開始可能工作。 但是你可以在一個字符串直接訪問字符,如:

gene1 = "ATGTTGATGTG" 
gene1[0] # this is the first letter 
gene1[-1] # this is the last letter 
gene1[:2] # these are the first two letters 
gene1[2:] # everything after the first two letters 

試試這個在交互式解釋(IDLE),然後嘗試用GENE1同樣定義爲list。然後你會看到輸出的差異。

欲瞭解更多信息,請參閱this(Python文檔)(由@grc提供)

相關問題