列表的使用技巧

MAC地址格式轉換

需求:

        有一個mac地址('2cd05afd1564'), 現需將其轉換成帶有:號分割的格式('2c:d0:5a:fd:15:64').app

解決方法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'))

 

總結:spa

    解決方法3經過利用列表的"間隔"分片特性, 感受能夠簡化for的寫法.code

    備註: 解決方法1和解決方法2代碼邏輯是同樣的, 只不過解決方法2使用了推導列表的寫法.ip

相關文章
相關標籤/搜索