python-3.x - 如何使用 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 的每个索引,您将获得一个文件列表,其前缀位于新列表中的同一索引处。
推荐阅读
- python - 无法使用 django 从页面发送邮件,SMTPAuthenticationError
- java - 如何进行更大数量的操作
- python - Google Cloud Run:将多个应用文件打包到一个 docker 映像中
- macos - 如何在 AzureDevops 中安装 Mac 配置文件?
- c++ - 当 x 的范围有限时,为什么 x/10 会通过不必要的移位进行优化?
- html - Python3 从网页下载图像
- hadoop - Hive 查询失败,出现 org.apache.hadoop.hive.ql.exec.tez.TezTask java.lang.OutOfMemoryError: Java heap space
- javascript - React - 将父状态中的一项设置为子状态
- asp.net - 如何在 MVC 模型中表示用户输入的“列表”?
- reactjs - 当 store 状态改变时重新渲染组件