假设我有一小段代码:
<?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
但它返回“空分隔符”错误。
对此有何想法?
答案 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