У меня есть словарь, который содержит ряд уникальных строковых значений для ключа «sample». Я преобразовываю этот ключевой «образец» в список для построения графика, однако я хочу создать другой список с равным количеством элементов, которые разбивают определенные строки в конце каждого элемента, чтобы создать «чистый» список, который затем может группировать определенныеобразцы вместе для построения. Например, мой черный список выглядит так:
blacklist = ['_001', '_002', '_003', '_004', '_005', '_006', '_007', '_008', '_009', \
'_01', '_02', '_03', '_04', '_05', '_06', '_07', '_08', '_09', \
'_1', '_2', '_3', '_4', '_5', '_6', '_7', '_8', '_9']
, который я хочу удалить из каждого элемента в этом примере списка, созданного из моего словаря:
sample = [(d['sample']) for d in my_stats]
sample
['sample_A', 'sample_A_001', 'sample_A_002', 'my_long_sample_B_1', 'other_sample_C_08', 'sample_A_03', 'sample1_D_07']
с желаемым результатом новогоlist:
sample
['sample_A', 'sample_A', 'sample_A', 'my_long_sample_B', 'other_sample_C', 'sample_A', 'sample1_D']
Для контекста я понимаю, что будут некоторые элементы, которые затем будут одинаковыми - я хочу использовать этот список для компиляции кадра данных вместе со списками с равным количеством сгенерированных значенийдругие ключи из этого словаря, которые будут использоваться в качестве идентификатора при построении (то есть, чтобы я мог использовать его для группировки / раскраски всех этих значений одинаково). Обратите внимание, что может быть различное количество символов подчеркивания, и в моем списке строк могут быть элементы, которые не содержат значений из черного списка (поэтому я не могу использовать какой-либо вариант разбиения, например, в последнем подчеркивании).
Это похоже на эту проблему: Как я могу удалить несколько символов в списке?
, но я не хочу, чтобы он был настолько обобщенным / жадным и в идеале был быЯ хотел бы удалить его только с конца, поскольку у пользователя может быть входной файл с частями этих строк (например, 1 в sample1_D) внутри. Мне не обязательно использовать черный список, если есть другое решение, просто кажется, что это может быть самый простой способ.