问题描述
在单词/列表的确切位置使用变量过滤列表的最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