找了很多字符异或交换的例子,
java:
String str = 'sofmenxp'
str[0] ^= str[3]
str[3] ^= str[0]
str[0] ^= str[3]
这样,字符串str 的第一位和第四位就交换成功了,但是想找python的,找了半天也没有字符交换的例子
后来好不容找到一个帖子,终于有点眉目了, ord 和chr 函数
python demo:
if __name__ == '__main__': a = 'a' b = 'b' a = ord(a)^ord(b) b = a^ord(b) a = a^b a = chr(a) b= chr(b) print a,b
这样a,b就交换了。
辅助:
chr(...) 函数
chr(i) -> character
Return a string of one character with ordinal i; 0 <= i < 256.
参数是0 - 256 的一个整数,返回值是当前整数对应的ascii字符。参数可以是10进制也可以是16进制的形式
ord(...)
ord(c) -> integer
Return the integer ordinal of a one-character string.
参数是一个ascii字符,返回值是对应的十进制整数
对python 字符串中指定位置的字符做修改操作:
str = list(str)
str [0] = 'p'
str = '.join(str)