【问题标题】:Slicing string into pieces with certain length in Python [duplicate]在Python中将字符串切成一定长度的片段[重复]
【发布时间】:2022-01-11 14:49:44
【问题描述】:

我对 Python 还很陌生,不知道如何执行以下操作。

我想将我的字符串“切割”成具有特定长度的片段并将这些片段放入列表中。

所以当你有这个时:

'ATACAGGTA'

你需要这个列表作为结果:

['ATA', 'CAG', 'GTA']

这可能很容易,但我不知道如何做到这一点。

【问题讨论】:

标签: python


【解决方案1】:
s = 'ATACAGGTA'
step = 3
[s[i:i+step] for i in range(0, len(s), step)]

首先定义一个字符串。然后是步长。请注意,检查步长是否适合字符串的长度。

然后使用 for 循环遍历字符串。 range 函数采用 start、stop 和 step 参数 (https://docs.python.org/3/library/functions.html#func-range)。如果您不了解列表理解,请参阅:https://www.w3schools.com/python/python_lists_comprehension.asp

【讨论】:

    【解决方案2】:

    取自这里:

    https://www.kite.com/python/answers/how-to-split-a-string-at-every-nth-character-in-python

    根据您的情况进行修改,应该可以解决问题:

    a_string = "ATACAGGTA"
    
    split_strings = []
    n  = 3
    for index in range(0, len(a_string), n):
        split_strings.append(a_string[index : index + n])
    
    print(split_strings)
    

    输出:

    ['ATA', 'CAG', 'GTA']
    

    可能还有更“pythonic”的方式!

    干杯!

    【讨论】:

    • 有。您可以通过列表理解在 1 行中完成所有操作。
    猜你喜欢
    • 2012-02-10
    • 2011-03-24
    • 1970-01-01
    • 2016-04-01
    • 2016-07-31
    • 2013-11-04
    • 1970-01-01
    • 2016-01-31
    • 2012-05-15
    相关资源
    最近更新 更多