每个字符串获得3个字符的独特组合(一起)

时间:2011-12-18 15:42:24

标签: python

如果我有"combination.py"之类的字符串,我希望使用Python得到以下结果:

["com" , "omb", "mbi", "bin", "ina", "nat" , "ati" , "tio", "ion", "on.", "n.p" , ".py"]

我有一些工作得很好的东西,但这是一个非常长的代码,所以我正在寻找一些简短而美丽的东西。 :)

由于

4 个答案:

答案 0 :(得分:10)

>>> s = "combination.py" 
>>> [s[i:i+3] for i in range(len(s)-2)]
['com', 'omb', 'mbi', 'bin', 'ina', 'nat', 'ati', 'tio', 'ion', 'on.', 'n.p', '.py']

寻找“短而美丽”的东西确实是一个好习惯。 Python非常适合这一点。 :)

答案 1 :(得分:3)

功能

def substrings(s, l=3):
    return [s[k:k+l] for k in range(len(s)-l+1)]

称为

substrings("combination.py")

产量

['com', 'omb', 'mbi', 'bin', 'ina', 'nat', 'ati', 'tio', 'ion', 'on.', 'n.p', '.py']

答案 2 :(得分:1)

一个简单的解决方案是

for i in range(0, len(a)-2):
    print a[i:i+3];

a是一个字符串。

答案 3 :(得分:-3)

    String txt = "combination.py";
for(int i=0;i<txt.length;i++){
  String result = txt.substring(i,i+2)
  System.out.println(result);
  i+=3;
}