我在Python 2.7中编写了一个代码,我在其中定义了一个字符串列表。然后,我想要搜索此列表的元素以获取一组字母。这些字母必须是随机的。即从输入中搜索每个单个字母。 我一直在谷歌,但我还没有找到解决方案。
这是我得到的:
wordlist = ['mississippi','miss','lake','que']
letters = str(aqk)
for item in wordlist:
if item.find(letters) != -1:
print item
这是一个例子。这里唯一的输出应该是'lake'和'que',因为这些单词包含'a','q'和'k'。 如何重写我的代码以便这样做?
提前致谢!
亚历
答案 0 :(得分:12)
使用set()
:
wordlist = ['mississippi','miss','lake','que']
letters = set('aqk')
for word in wordlist:
if letters & set(word):
print word
输出:
lake
que
注意: &
运算符在两组之间执行intersection。
答案 1 :(得分:1)
for item in wordlist:
for character in letters:
if character in item:
print item
break
答案 2 :(得分:1)
以下是您的解决方案:
for item in wordlist:
b = False
for c in letters:
b = b | (item.find(c) != -1)
if b:
print item
答案 3 :(得分:0)
[word for word in wordlist if any(letter in word for letter in 'aqk')]
答案 4 :(得分:0)
使用sets和in语法进行检查。
wordlist = ['mississippi','miss','lake','que']
letters = set('aqk')
for word in wordlist:
if word in letters:
print word