Как разделить содержимое внутри ключа - PullRequest
0 голосов
/ 26 мая 2020

Словарь ниже

my = [('a','/home/ma'),('a','/home/mk')]

Мой код:

{b:a for a,b in my }

Мой вывод:

{'/home/ma': 'a', '/home/mk': 'a'}

Ожидаемый результат:

{'ma': 'a', 'mk': 'a'}

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Просто замените b: a в своем коде на os.path.split(b)[-1]: a или, что более аккуратно (согласно комментарию @BearBrown), os.path.basename(b): a (вам также необходимо import os).

import os

my = [('a','/home/mak'),('a','/home/mk')]

{os.path.basename(b): a for a, b in my}
# {'mak': 'a', 'mk': 'a'}
1 голос
/ 26 мая 2020

{b.split('/')[2]:a for a,b in my }

Или, если вам всегда нужен последний sla sh

{list(reversed(b.split('/')))[0]:a for a,b in my}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...