python -- 字符异或交换

找了很多字符异或交换的例子,

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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值