查找列表字典中单词的所有出现次数

时间:2017-04-10 20:51:25

标签: python dictionary

我正在试图弄清楚某个单词出现在哪个行号。比如说我有下面的列表字典。这里的每个列表都是段落中的一行。

{1: ['They', 'seek', 'him', 'here'], 
2: ['they', 'seek', 'him', 'there'], 
3: ['those', 'Frenchies', 'seek', 'him', 'everywhere']}

我想找到“他”这个词出现的所有行。很明显它只是通过查看它出现在第1,2,3行,但我如何让我的输出告诉我它出现在哪一行?

4 个答案:

答案 0 :(得分:1)

如果您只想这样做一次,可以使用以下内容:

[k for (k, v) in d.items() if 'him' in v]

如果你计划多次这样做,我建议你建立另一个字典,将单词映射到它出现的行。

答案 1 :(得分:0)

z={1: ['They', 'seek', 'him', 'here'], 
2: ['they', 'seek', 'him', 'there'], 
3: ['those', 'Frenchies', 'seek', 'him', 'everywhere']}

indices=[k for k in z if 'him' in z[k]]

答案 2 :(得分:0)

您可以迭代密钥并检查每个列表中是否存在搜索短语。请查看此代码是否有帮助:

selectizeInput

答案 3 :(得分:0)

这是一个简单的解决方案。

d={1: ['They', 'seek', 'him', 'here'], 2: ['they', 'seek', 'him', 'there'], 3: ['those', 'Frenchies', 'seek', 'him', 'everywhere']}
word="him"
lines=[]
for i in d:
    if word in d[i]:
        lines.append(i)
print lines