python - 如何更改我的代码以反转某些子字符串?
问题描述
我试图将字符串中的前 2 个字符移到末尾,将后 2 个字符移到前面。然后我想反转我移动的字符。
例如,bajui
。首先我们交换第一个和最后两个字符,给uijba
,然后我想反转ui
成iu
和ba
成ab
,因此最终的结果应该是iujab
。
这是我当前的代码:
def startToEnd(kata):
kata = kata[-2:] + kata[2:3] + kata[:2]
return kata
print(startToEnd("bajui"))
有了这个,它会给uijba
。如何反转已移动的字符?
解决方案
您可以使用字符串切片来实现这一点 - 请注意,这仅适用于长度至少为 4 的字符串。
代码:
def startToEnd(kata):
return kata[:-3:-1] + kata[2:-2] + kata[1::-1]
输出:
>>> startToEnd('makam')
'makam'
>>> startToEnd("bajui")
'iujab'
推荐阅读
- r - R数据争吵不做整个数据集中的功能
- ruby-on-rails-4 - 如何测试rspec中类型为数组的属性长度的验证?
- snowflake-cloud-data-platform - 处理 Snowpipe 自动摄取中的不良记录
- python-3.x - 带有奇怪 ^T 分隔符的文本日志在被 Python 读取时被删除
- java - -source 1.5 错误中不支持 java 1.7+
- vim - 为什么 ctrl-t 插入奇怪的文本而不是在 fzf/vim 中打开一个新选项卡?
- java - 包不存在错误,即使它已经在 Java NetBeans 中导入
- docker - `opensuse/tumbleweed` docker 中的 `lsb_release -a`
- hibernate - 在休眠中映射视图和表
- ios - 在表单或列表中打开 fullscreenCover 或工作表时,第一次调用时传递给工作表内容的对象为零