我正在尝试将字符与任何给定的字符串分开,并对其进行加减。例如,
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)
这可行,但是我想知道更好的方法。
谢谢
答案 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']