繁体   English   中英

如何在Python 3中选择某些字符串?

[英]How to select certain pieces of a string in Python 3?

我试图通过使用滑动窗口从字符串中选择2个字母。 我的代码有效,但是我没有得到正确的输出。 这是我的代码:

s = "aaabccddd"
b = [s[i:i + 2] for i in range(len(s) - 2)]
print(b)

我的代码的输出是:

['aa', 'aa', 'ab', 'bc', 'cc', 'cd', 'dd']

但是输出应该是这样的:

['aa','ab','cc', 'dd', 'd']

如何修复我的代码并获得所需的输出?

使用range()时,您需要跳过正确的字节数: range(0, len(s) - 2, 2) ,否则每个原始字符都会得到两个字符。

您可以将其概括为所需的任何大小的块:

def split_string(s, size):
    return [s[i:i+size] for i in range(0, len(s), size)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM