例如我们有如下一个设备列表,并已经赋值给了一个对象:devices_list:
[4c:87:5d:09:4b:c3]
Timestamp = 1607493520
Name = LE-Mr. Dynamite
LmpVer = 8
[00:0a:45:03:49:54]
Timestamp = 1607493531
DevClass = 2360324
DevType = 1
AddrType = 0
Name = ATH-AR5BT
LmpVer = 7
[e5:2b:de:df:b6:01]
Timestamp = 1607494943
Name = UniversalFoldableKb
MetricsId = 8
[4c:87:5d:25:e0:03]
Timestamp = 1607514266
DevClass = 2360340
Name = Bose Mini II SoundLink
LmpVer = 6
首先将字符串转换为列表:
devices_list = devices_list.split('\n\n') #使用双回车切割字符段并生成列表
接下来我们需要匹配mac地址为包含“00:0a"的设备:
使用for循环处理列表中的元素并进行匹配:
choose_device = [s for s in devices_list if '00:0a' in s] #进阶型代码
#基础型写法:
choose_device = []
for s in devices_list:
if '00:0a' in s:
choose_device.append(s)
此时我们就可以获取包含‘00:0a’字符的列表元素,并赋值给了choose_device。