我有一个字典键['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)