我有一个术语e_learning,我想看看在mylist中包含e_learning的术语是什么
mylist = ['e_learning_environment', 'machine_learning', 'student_e_learning_platform']我应该只得到e_learning_environment和student_e_learning_platform作为输出。
我当前的代码如下所示。
for item in mylist:
if 'e_learning' in 'machine_learning':
print('yes')然而,当我在python中使用in时,我也得到了machine_learning。我可以使用正则表达式来避免它吗?请帮帮我!
发布于 2018-01-15 11:41:48
您可以将re与后视一起使用
import re
myrootword = 'e_learning' #target search variable
mylist = ['e_learning_environment', 'machine_learning', 'student_e_learning_platform']
new_list = [i for i in mylist if re.findall('(?<=^){}|(?<=\s){}|(?<=_){}'.format(*([myrootword]*3)), i)]输出:
['e_learning_environment', 'student_e_learning_platform']https://stackoverflow.com/questions/48256619
复制相似问题