如何使用 Python 将一个字符串列表按另一个字符串列表分组?
How can I group a list of strings by another list of strings using 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
方法,但我不知道在这种情况下如何使用它。
您可以像这样使用列表生成器:
new = [[name for name in filenames if(name.startswith(prefix))] for prefix in l]
这将为您提供一个列表列表,其中对于 l 的每个索引,您将获得一个文件列表,其前缀位于新列表中的相同索引处。
我有两个列表:
列表 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
方法,但我不知道在这种情况下如何使用它。
您可以像这样使用列表生成器:
new = [[name for name in filenames if(name.startswith(prefix))] for prefix in l]
这将为您提供一个列表列表,其中对于 l 的每个索引,您将获得一个文件列表,其前缀位于新列表中的相同索引处。