在python中按字符分隔字符串

时间:2019-04-27 16:37:03

标签: python

我正在尝试将字符与任何给定的字符串分开,并对其进行加减。例如,

str='abcd' => 'ab','bc','cd'

这是我的解决办法,

str='abcdef'
a=[]
for i in range(len(str)):
  a.append(str[i:i+2])
a.remove(a[-1])
print(a)

这可行,但是我想知道更好的方法。

谢谢

2 个答案:

答案 0 :(得分:5)

没有外部模块(例如您的实现,但更干净)的可能解决方案。

[my_str[i:i+2] for i in range(len(my_str) - 1)]

如此

In [3]: my_str='abcdef'

In [4]: [my_str[i:i+2] for i in range(len(my_str) - 1)]
Out[4]: ['ab', 'bc', 'cd', 'de', 'ef']

答案 1 :(得分:5)

使用zip()(内置):

[f'{x}{y}' for x, y in zip(s, s[1:])]

代码

s = 'abcdef'

print([f'{x}{y}' for x, y in zip(s, s[1:])]) # Python 3.6+. For previous versions, use below line.
# [x + y for x, y in zip(s, s[1:])] 

# Outputs: ['ab', 'bc', 'cd', 'de', 'ef']