如何通过变量字母的特定定位过滤列表

问题描述

在单词/列表的确切位置使用变量过滤列表的最pythonic 方法是什么?

例如如果我的列表是 [HELLO,JELLO,JUUNO,ELNOO],我将如何过滤列表以查找在单词的特定位置包含 'EL' 的任何单词,但排除没有正确定位字母的单词?因此,如果我要在单词的位置 2 和 3 中过滤“EL”,我希望它输出 [HELLO,JELLO] 但排除 [ELNOO]

wordlist = ['HELLO','JELLO','JUUNO','ELNOO']

#flter wordlist for 'EL'in position 2 and 3
#filter wordlist for starting with 'J' and ending with 'O'
vara = 'E'
varB = 'l'
varC = 'J'
varD = 'O'

我考虑过导入 re 并使用 re.search,有没有更好的方法

解决方法

对于像这样的简单固定字符串,切片比较可能是最简单的:

words = ['HELLO','JELLO','JUUNO','ELNOO']
[x for x in words if x[1:3] == 'EL']
,

如果您需要将@match 的答案作为函数进行扩展

-key

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...