首页 > 其他 > 详细

列表的使用技巧

时间:2015-10-24 14:29:25      阅读:264      评论:0      收藏:0      [点我收藏+]

MAC地址格式转换

需求:

        有一个mac地址(‘2cd05afd1564‘), 现需将其转换成带有:号分割的格式(‘2c:d0:5a:fd:15:64‘).

解决方法1:

def std_mac(mac):
    spliter = 2
    result = []
    for i in range(0, len(mac), spliter):
        result.append(mac[i:i+spliter])
    result = ‘‘.join(result)
    return result

print(std_mac(‘2cd05afd1564‘))


解决方法2:

def std_mac(mac):
    spliter = 2
    result = [mac[i:i+spliter] for i in range(0, len(mac), spliter)]
    result = ‘‘.join(result)
    return result

print(std_mac(‘2cd05afd1564‘))


解决方法3:

def std_mac(mac):
    spliter = 2
    l1, l2 = mac[::spliter], mac[1::spliter]
    return ‘:‘.join(map(lambda x: ‘‘.join(x), list(zip(l1, l2))))

print(std_mac(‘2cd05afd1564‘))


总结:

    解决方法3通过利用列表的"间隔"分片特性, 感觉可以简化for的写法.

    备注: 解决方法1和解决方法2代码逻辑是一样的, 只不过解决方法2使用了推导列表的写法.

列表的使用技巧

原文:http://my.oschina.net/u/2452965/blog/521511

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!