在列表python中拆分Mac地址

Posted

技术标签:

【中文标题】在列表python中拆分Mac地址【英文标题】:Split Mac address in a list python 【发布时间】:2019-11-04 08:03:49 【问题描述】:

我需要提取存储在 python 列表中的所有 Mac 地址的最后两位数字。

['00:00:00:00:00:02',
 '00:00:00:00:00:01',
 '00:00:00:00:00:03',
 '00:00:00:00:00:01',
 '00:00:00:00:00:04',
 '00:00:00:00:00:01']

我需要从这个列表中提取 [02,01,03,01,04,01] 要么 熊猫数据框中有这个方法吗?

【问题讨论】:

[x.rsplit(':')[-1] for x in L][x[-2:] for x in L] 【参考方案1】:

这将完成你的工作

data=['00:00:00:00:00:02', '00:00:00:00:00:01', '00:00:00:00:00:03', '00:00:00:00:00:01', '00:00:00:00:00:04', '00:00:00:00:00:01']
last_digits=[mac_address.split(':')[-1] for mac_address in data]
print(last_digits)

【讨论】:

【参考方案2】:

使用rsplit作为最后一个分隔符并按位置查找最后一个值:

L = ['00:00:00:00:00:02', '00:00:00:00:00:01', '00:00:00:00:00:03',
     '00:00:00:00:00:01', '00:00:00:00:00:04', '00:00:00:00:00:01']

out = [x.rsplit(':', 1)[-1] for x in L]
#alternative
#out = [x.split(':')[-1] for x in L]

或者通过索引获取每个字符串值的最后 2 个值:

out = [x[-2:] for x in L]

print (out)
['02', '01', '03', '01', '04', '01']

【讨论】:

【参考方案3】:
macs = ['00:00:00:00:00:02', '00:00:00:00:00:01', '00:00:00:00:00:03', '00:00:00:00:00:01', '00:00:00:00:00:04', '00:00:00:00:00:01']
short_macs = [x[-2:] for x in macs]

输出

['02', '01', '03', '01', '04', '01']

【讨论】:

以上是关于在列表python中拆分Mac地址的主要内容,如果未能解决你的问题,请参考以下文章

Python获取电脑CPU序列号主板序列号BIOS序列号硬盘序列号列表网卡MAC地址

hillstone路由器如何利用对MAC地址认证进行上网行为控制?

将冒号插入Mac地址列表

mac的ip地址在哪里查

用java写一个将大写的MAC地址转化为小写,切把分割用的-转化为:,首先判断输入是不是为MAC地址,在转换

在 BLE 中随机化 Mac 地址