如何将十六进制的字符串反转?

问题:有一个十六进制的字符串:0x 01 02 03 04 05 06 07 08,如何反转为:0x 10 20 30 40 50 60 70 80 ?

思路是,由于字符串是不可变类型,所以先将字符串转换成列表,在列表的基础上交换元素值,然后再转换回字符串并输出结果。代码如下:

#coding:utf-8
#!/usr/bin/env python

def switchStr(str):
    print 'switch before: ', str
    rawL = str.split(' ')
    for i in range(1, len(rawL)):
        LL = list(rawL[i])  # 将列表中的元素再次转换为列表
        LL[0], LL[1] =  LL[1], LL[0]  # 交换列表中的两个元素
        rawL[i] = ''.join(LL) # 将交换后的值还到原来的列表元素中

    print 'switch after : ', ' '.join(rawL)

if __name__ == '__main__':
    switchStr('0x 01 02 03 04 05 06 07 08')

输出结果:

switch before:  0x 01 02 03 04 05 06 07 08
switch after :  0x 10 20 30 40 50 60 70 80


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值