排除Python中的条件中的单词

时间:2011-03-16 13:51:47

标签: python

我正在尝试编写一个程序,我有几个条件。我想从一个令牌列表中排除一个单词列表(det)。最高if len(W) <=8:,它就像我想要的那样工作。但是,我无法让程序在我的令牌列表中找到det中的任何单词,并将它们从打印中排除。

这就是我目前的情况:

det = ['the','a',an','\'s']
w for w in tkV if w not in det
def BT_pos1(w):
  for w in tkV:
    if w.islower():
      if len(w) >=3:
        if len(w) <=8:
          if w not in det:
            print w, ' may be a bt.'

1 个答案:

答案 0 :(得分:3)

您的det似乎无效(查看引号)。

如果您想经常检查某个元素是否在列表中,您可以使用set(),这样可以更快地检查内容。

整体看起来像这样:

det = set(["the", "a", "an", "'s"])

for w in tkV:
    if 3 <= len(w) <= 8 and w not in det and w.islower():
        print w, ' may be a bt.'