我有一个布尔表达式age_str = "age<=3"
以及年龄列表age_list = [1,2,3,4]
,如何使用age_stri来过滤年龄列表?预期输出为[1,2,3]
您可以为此使用eval:
age_str = "age<=3"
age_list = [1,2,3,4]
res = []
for age in age_list:
if eval(age_str):
res.append(age)
print(res)
结果:
[1, 2, 3]
使用eval进行列表理解即可:
age_str = "age<=3"
age_list = [1,2,3,4]
ages = [age for age in age_list if eval(age_str)]
print(ages)