Moh*_*ani 3 python string python-2.7
我试图使字符串HELLO到OHELLPython编写的。但是如果不使用循环,就无法旋转它。如何只用1-2行编写代码,以便获得所需的模式?
这是我在 Python3 中用来旋转字符串的方法:
向左旋转 n:
def leftShift(text,n):
return text[n:] + text[:n]
Run Code Online (Sandbox Code Playgroud)
向右旋转 n:
def rightShift(text,n):
return text[-n:] + text[:-n]
Run Code Online (Sandbox Code Playgroud)
您可以切片并添加字符串:
>>> s = 'HELLO'
>>> s[-1] + s[:-1]
'OHELL'
Run Code Online (Sandbox Code Playgroud)
这给您最后一个字符:
>>> s[-1]
'O'
Run Code Online (Sandbox Code Playgroud)
这是最后的一切:
>>> s[:-1]
'HELL'
Run Code Online (Sandbox Code Playgroud)
最后,添加+。
这是一种方法:
def rotate(strg, n):
return strg[n:] + strg[:n]
rotate('HELLO', -1) # 'OHELL'
Run Code Online (Sandbox Code Playgroud)
或者,collections.deque(“双端队列”)针对与队列相关的操作进行了优化。它具有专用的rotate()方法:
from collections import deque
items = deque('HELLO')
items.rotate(1)
''.join(items) # 'OHELL'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8680 次 |
| 最近记录: |