当前位置: 首页 > 面试题库 >

在python中的字符串中交换字母

索吕恭
2023-03-14
问题内容

我正在尝试切换字符串中的第一个字符并将其移到字符串的末尾。它需要重复旋转n次。例如,rotateLeft(hello,2)=llohe

我试着做

def rotateLeft(str,n):
    rotated=""
    rotated=str[n:]+str[:n]
    return rotated

这是正确的吗,如果它删除了最后一个字符并将其移到字符串的开头,您将如何处理?


问题答案:

您可以将其缩短为

def rotate(strg,n):
    return strg[n:] + strg[:n]

并简单地使用负索引来“向右”旋转:

>>> rotate("hello", 2)
'llohe'
>>> rotate("hello", -1)
'ohell'
>>> rotate("hello", 1)
'elloh'
>>> rotate("hello", 4)
'ohell'
>>> rotate("hello", -3)
'llohe'
>>> rotate("hello", 6)  # same with -6: no change if n > len(strg)
'hello'

如果即使在超过字符串长度后仍要保持旋转,请使用

def rotate(strg,n):
    n = n % len(strg)
    return strg[n:] + strg[:n]

所以你得到

>>> rotate("hello", 1)
'elloh'
>>> rotate("hello", 6)
'elloh'


 类似资料:
  • Java中是否有本地方法在中进行字符交换。我是说,我每次都需要写一个这样的函数,很无聊:

  • 我正在制作一个minecraft插件,当服务器启动时,只要字符串能力等于“是”,它每5秒做一个动作,当你键入 /nameme-enable时,它将其设置为是, /nameme-disable将其设置为否。然而,我似乎无法更改字符串值,我看到另一个人7年前问了另一个问题,但它返回为他的,字符串并添加另一个值,而他的是在一个方法中,这是命令的代码...

  • 问题内容: 在python中,字符串可变吗?该行引发错误 TypeError:’str’对象不支持项目分配 我可以看到原因(因为我可以编写someString [3] =“ test”,这显然是非法的),但是在python中有没有这样做的方法? 问题答案: Python字符串是不可变的,这意味着它们不支持项目或切片分配。您将必须使用ie或其他合适的方法来构建新的字符串。

  • 问题内容: 在Python中,什么时候以及什么时候使用字符串连接与字符串替换比较容易。由于字符串连接的性能有了很大的提高,这(成为更多)是一种风格上的决定,而不是一种实际的决定吗? 举一个具体的例子,如何处理灵活的URI: 编辑:也有关于加入字符串列表和使用命名替换的建议。这些是中心主题的变体,即在什么时候做正确的方法?感谢您的回复! 问题答案: 根据我的机器,连接的速度(明显)更快。但是从风格上

  • 问题内容: 这个简单的代码仅尝试用冒号替换分号(在i指定的位置)不起作用: 它给出了错误 如何解决此问题,以冒号代替分号?使用replace不起作用,因为该函数不占用索引-可能有一些我不想替换的分号。 例 在字符串中,我可能有许多分号,例如 我知道我想替换哪些(我在字符串中有索引)。使用替换无法正常工作,因为我无法对其使用索引。 问题答案: python中的字符串是不可变的,因此你不能将它们视为列

  • 问题内容: 我正在使用urllib从网站获取html字符串,并且需要将html文档中的每个单词放入列表中。 这是我到目前为止的代码。我不断收到错误消息。我还复制了以下错误。 这是错误。 问题答案: str.replace是您要执行的操作错误的函数(除了使用不正确之外)。您想用空格代替集合的任何字符,而不是用单个空格代替整个集合(后者是replace的作用)。您可以使用以下翻译: 这将创建一个映射,

  • 问题内容: 我想将字符串的字符从小写改为大写。 我的代码在下面,我的代码得到的输出是; 您能告诉我哪里错了,并解释原因吗?提前致谢 问题答案: 如果要反转该字符串的大小写,请尝试以下操作:

  • 本文向大家介绍字符串在Python中的endswith(),包括了字符串在Python中的endswith()的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习字符串的endswith()方法。 如果字符串以给定的子字符串结尾,则endswith()方法将返回True,否则将返回False。它需要一个必需参数和两个可选参数。 必需参数是需要检查的字符串,可选参数是,它们是开始索引和结