要求: reverse words in a string
将abc def形式的字符串翻转成def abc,并且去掉多余的空格。
解法一:
将abc和def分开,然后使用list的reversed方法调换位置
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
class Reverse_str(object):
"""docstring for Reverse_str"""
def __init__(self, arg=''):
super().__init__()
self.arg = arg
def reverse_word(self, word=''):
"""docstring for reverse_word"""
temp_list = list(reversed(list(word.split())))
return(' '.join(temp_list))
instant_a = Reverse_str()
test_word = 'abc def'
print(instant_a.reverse_word(test_word))
运行结果:
#解法二: 使用deque的rotate方法左移一个位置:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from collections import deque
class Reverse_str(object):
"""docstring for Reverse_str"""
def __init__(self, arg=''):
super().__init__()
self.arg = arg
def reverse_word_with_deque(self, word=''):
"""docstring for reverse_word_with_deque"""
temp_que = deque(word.split())
temp_que.rotate(-1)
temp_list = list(temp_que)
return(' '.join(temp_list))
instant_a = Reverse_str()
test_word = 'abc def'
print(instant_a.reverse_word_with_deque(test_word))
运行结果: