首页 > 解决方案 > 如何使用 Python 通过另一个字符串列表对字符串列表进行分组?

问题描述

我有两个清单:

清单 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方法,但我不知道在这种情况下如何使用它。

标签: python-3.xloopspandas-groupbypython-3.7

解决方案


你可以使用这样的列表生成器:

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

这将为您提供一个列表列表,对于 l 的每个索引,您将获得一个文件列表,其前缀位于新列表中的同一索引处。


推荐阅读