从 Python 中的 dict_keys 选择所需元素时出现问题
Issue when selecting desired elements from dict_keys in Python
我有一个字典键列表 ['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]
问题:它也会 return 'A_report10'
和 'B_report10'
,我只想要报告 1。无论如何要解决这个问题?
使用正则表达式怎么样?
import re
rx = re.compile(r'report1\b')
items = [report for report in df if rx.search(report)]
这是一个简单但 non-robust 的解决方案,其假设是您的所有报告名称都遵循格式 .*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)
我有一个字典键列表 ['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]
问题:它也会 return 'A_report10'
和 'B_report10'
,我只想要报告 1。无论如何要解决这个问题?
使用正则表达式怎么样?
import re
rx = re.compile(r'report1\b')
items = [report for report in df if rx.search(report)]
这是一个简单但 non-robust 的解决方案,其假设是您的所有报告名称都遵循格式 .*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)