Разделить Mac-адрес в списке Python - PullRequest
1 голос
/ 21 июня 2019

Мне нужно извлечь последние две цифры во всех Mac-адресах, хранящихся в списке Python.

['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] илиесть ли метод в панде dataframe для этого?

Ответы [ 3 ]

3 голосов
/ 21 июня 2019
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']
2 голосов
/ 21 июня 2019

Используйте 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']
1 голос
/ 21 июня 2019

Это сделает вашу работу

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...