【问题标题】:How can I go about splicing a string to create new strings only using a part of the last string?如何仅使用最后一个字符串的一部分来拼接字符串以创建新字符串?
【发布时间】:2013-03-09 10:04:02
【问题描述】:

所以对于家庭作业,我必须像这样对字符串进行切片

GENE="ATGAGTGATGATGTA

并创建新词(GENE2GENE3GENE4 等...)

这是作业:

GENE1="ATGTTGATGTG"这个词开头,
编写一个 Python 程序来创建新词 GENE2GENE3GENE4GENE5,这样:

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

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

这是一个好的开始吗?

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

【问题讨论】:

  • 你能澄清一下你想要什么吗? (即提供预期的输出等)
  • 你能试着澄清一下这个问题吗? “GENE="ATGAGTGATGATGTA" 有三个括号,所以我对字符串是什么感到困惑?它是一个变量GENE 持有DNA 序列的字符串?还是一个包含等号的字符串?
  • 说明很清楚。从至少尝试自己解决问题开始。
  • 我对编码很陌生,抱歉。
  • 阅读this。我认为关于字符串的部分对你很有帮助,因为它对字符串索引有很好的解释。

标签: python string word splice


【解决方案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 提供)

【讨论】:

    【解决方案2】:

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

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

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

    好像你的教授希望你学习这个,然后切片和使用它们......

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

    【讨论】:

    • 原来我发布了与 grc 和 Benjimin 相同的链接,但没有意识到即使他们发布了相同的链接... :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2016-04-25
    • 1970-01-01
    相关资源
    最近更新 更多