在Python中从dict_keys中选择所需元素时出现问题



我有一个字典键['A_report1', 'A_report2', ..., 'A_report10','B_report1', 'B_report2', ..., 'B_report10',]的列表。我想从这个dict_keys中提取所有的"report1"。换句话说,我只能得到'A_report1''B_report1'

下面是我试过的代码:

[report for report in list(dictionary.keys()) if 'report1' in report]

问题:它也会返回'A_report10''B_report10',我只想要report1的。如何解决这个问题?

如何使用正则表达式?

import re
rx = re.compile(r'report1b')
items = [report for report in df if rx.search(report)]

这里是一个简单但不健壮的解决方案,它基于所有报表名称都遵循.*report<any int number>:

格式的假设
x = ['A_report10', 'B_report1', 'B_report2', 'B_report10']
report_1s = []
for i in x:
if i[-7:]=='report1':
report_1s.append(i)
print(i)

相关内容

  • 没有找到相关文章

最新更新