在Python中交换字符串中的每个第二个字符
我遇到了一个问题:我想在Python中写一个函数,给定一个字符串,返回一个字符串,其中每两个字符的位置互换。
比如说,给定字符串 "ABCDEF",它应该返回 "BADCFE"。
这个字符串的长度会保证是偶数。
你能帮我看看怎么用Python实现这个吗?
7 个回答
1
from itertools import chain, izip_longest
''.join(chain.from_iterable(izip_longest(s[1::2], s[::2], fillvalue = '')))
如果你有非常大的字符串,或者只是想避免复制,可以使用 islice
来代替普通的切片。
即使字符串的长度是奇数,这种方法也能正常工作,虽然这并不是问题的要求。
2
当然可以!请看下面的内容:
在编程中,有时候我们需要让程序做一些特定的事情,比如在某个条件满足时执行某段代码。这就像给程序设定了一些规则,让它知道什么时候该做什么。
例如,如果你想让程序在用户输入的数字大于10时显示“数字太大了”,你就需要写一个条件判断。这就像是在问:“这个数字是不是大于10?”如果答案是“是”,那么程序就会执行你设定的动作。
这种条件判断在编程中非常常见,它帮助我们控制程序的行为,让程序更加智能和灵活。
希望这个解释能帮助你更好地理解编程中的条件判断!
import re
print re.sub(r'(.)(.)', r'\2\1', "ABCDEF")
5
要添加另一个选项:
>>> s = 'abcdefghijkl'
>>> ''.join([c[1] + c[0] for c in zip(s[::2], s[1::2])])
'badcfehgjilk'