Как я могу сгруппировать список строк по другому списку строк, используя Python? - PullRequest
0 голосов
/ 15 октября 2019

У меня есть два списка:

Список 1

filenames = ['K853.Z', 'K853.N', 'K853.E', 'K400.Z', 'K400.N', 'K400.E']

Список 2

l = ['K853', 'K400']

Я хочуперебирать список filenames и группировать строки по списку l.

Я попробовал следующее:

for name in filenames:
    for i in l:
        if i in name:
            print(name)

Но это просто печатает первый список. Я видел метод Pandas groupby, но я не могу понять, как использовать его в этом случае.

1 Ответ

0 голосов
/ 15 октября 2019

вы можете просто использовать генератор списка следующим образом:

new = [[name for name in filenames if(name.startswith(prefix))] for prefix in l]

Это даст вам список списка, где для каждого индекса l вы получите список файлов с префиксом втот же индекс в новом списке.

...