0

所以对于家庭作业,我必须像

GENE="ATGAGTGATGATGTA

并创建新词(GENE2, GENE3, GENE4, 等...)

这是作业:

从单词 开始GENE1="ATGTTGATGTG"
编写一个 Python 程序来创建新单词GENE2,GENE3GENE4这样GENE5

  • GENE2只包含最后两个字母GENE1
  • GENE3只包含前两个字母GENE1
  • GENE4仅包含位置 2、4、6、8 和 10 的字母GENE1
  • GENE5只包含前 3 个和后 3 个字母GENE1

这很模糊,我能想到的就是删除不需要的字母,但这就是教授给我们的全部工作。

这是一个好的开始吗?

GENE1 = ['A','T','G','T','T','G','A','T','G','T','G']
4

2 回答 2

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. 然后你会看到输出的差异。

有关更多信息,请参阅(Python 文档)(由@grc 提供)

于 2013-03-09T10:40:14.483 回答
0

是的,您的 start 应该可以工作,但您可能需要使用字符串的 join 方法。

另外,您应该知道,就像list, 字符串(或str)一样是一个容器。
这意味着您可以切片以及索引字符串,例如

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

似乎您的教授希望您学习并切片并使用它们...

考虑阅读此页面
或者至少阅读StringsLists上的这两部分(在同一页面上)

于 2013-03-09T11:58:32.377 回答