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

用Python交换字符串中每对相邻字符的最简单方法是什么?

商飞航
2023-03-14
问题内容

我想交换字符串中的每对字符。'2143'成为'1234''badcfe'成为'abcdef'

如何在Python中执行此操作?


问题答案:

单线:

>>> s = 'badcfe'
>>> ''.join([ s[x:x+2][::-1] for x in range(0, len(s), 2) ])
'abcdef'
  • s [x:x + 2]返回从x到x + 2的字符串切片;这对于奇数透镜是安全的。
  • [::-1]反转Python中的字符串
  • range(0,len(s),2)返回0、2、4、6 …而x <len(s)


 类似资料:
  • 问题内容: ?将转换为并对其进行迭代?还有吗 问题答案: 我使用for循环来迭代字符串,并使用它来获取每个字符以进行检查。由于是通过数组实现的,因此该方法是恒定时间操作。 那就是我会做的。在我看来,这是最简单的。 就正确性而言,我认为这不存在。这完全取决于你的个人风格。

  • 问题内容: 将格式化的字符串转换为日历的最简单,最简单的方法是什么?例如将“ dd.MM.yyyy”添加到日历? 问题答案: DateFormat df = new SimpleDateFormat(“dd.MM.yyyy”); Calendar cal = Calendar.getInstance(); cal.setTime(df.parse(stringInstanceRepresentin

  • 问题内容: ?将转换为并对其进行迭代?还有吗 问题答案: 我使用for循环来迭代字符串,并使用它来获取每个字符以进行检查。由于是通过数组实现的,因此该charAt()方法是恒定时间操作。 那就是我会做的。在我看来,这是最简单的。 就正确性而言,我认为这不存在。这完全取决于您的个人风格。

  • 问题内容: 给定一个字符c和一个数字n,我如何创建一个包含n个重复c的字符串?手动执行此操作太麻烦了: 当然,已经有一些静态库函数为我完成了这项工作? 问题答案:

  • 问题内容: 我需要替换一些字符,如下所示:,… 我编码如下,但是我想应该有一些更好的方法。有什么提示吗? 问题答案: 替换两个字符 我给当前答案中的所有方法加上了一个额外的时间。 使用输入字符串并替换和,最快的方法是将替换链接在一起,如下所示:。 每个功能的时间: a)1000000次循环,每个循环最好为3:1.47 s b)1000000个循环,每个循环的最佳时间为3:1.51μs c)1000

  • 我一直在研究如何将字符串转换为Rust中的大写字母。到目前为止,我找到的最理想的方法是: 有没有不那么冗长的方法? 注意:这个问题是专门针对Rust 0.9的。在提问时还有另一个相关的答案,但它是针对Rust 0.8的,它有显著的语法差异,因此不适用。