寻找PHP的str_split()替换

时间:2010-07-19 16:25:34

标签: python string

假设我有一小段代码:

<?php 
$tmp = str_split('hello world!',2);
// $tmp will now be: array('he','ll','o ','wo','rl','d!');
foreach($tmp AS &$a) {
  // some processing
}
unset($tmp);
?>

我如何在Python v2.7中执行此操作?

我以为会这样做:

the_string = 'hello world!'
tmp = the_string.split('',2)
for a in tmp:
  # some processing
del tmp

但它返回“空分隔符”错误。

对此有何想法?

4 个答案:

答案 0 :(得分:6)

for i in range(0, len(the_string), 2):
    print(the_string[i:i+2])

答案 1 :(得分:2)

tmp = the_string[::2]给出了每个第二个元素的the_string副本。 ...... [:: 1]会返回每个元素的副本,...... [:: 3]会给每个第三个元素等等。

请注意,这是一个切片,完整形式是list [start:stop:step],尽管这三个中的任何一个都可以省略(并且步骤可以省略,因为它默认为1)。

答案 2 :(得分:0)

In [24]: s = 'hello, world'

In [25]: tmp = [''.join(t) for t in zip(s[::2], s[1::2])]

In [26]: print tmp
['he', 'll', 'o,', ' w', 'or', 'ld']

答案 3 :(得分:0)

def str_split_like_php(s, n):
    """Split `s` into chunks `n` chars long."""
    ret = []
    for i in range(0, len(s), n):
        ret.append(s[i:i+n])
    return ret