将列表中单词的值与另一个列表的位置值匹配

时间:2016-04-14 17:47:28

标签: python-3.x

我正在尝试弄清楚如何将字符列表与字符串进行比较,并在匹配时报告第1列中的字数。我可以轻松地从一个句子中获取唯一的单词列表 - 只删除重复项,并且通过枚举我可以得到每个单词的值,所以玛丽有一只小羊羔变为1,玛丽,2,有,3,等等。但是我无法弄清楚如何再次搜索原始列表并用其数字值替换每个单词(因此它变为1 2 3等)。

任何想法都很受欢迎!

3 个答案:

答案 0 :(得分:0)

my_list.index(word)

将返回 my_list word 项的索引。您可以开始深入了解文档here

答案 1 :(得分:0)

感谢您提供此信息。我可以看到这个的逻辑,它应该工作,但我得到:第27行,在输出= words.index(结果)ValueError:['word1','word2']不在列表中使用以下代码:

def remove_duplicates(words):
    output = []
    seen = set()
    for value in words:
        # If value has not been encountered yet,
        # ... add it to both list and set.
        if value not in seen:
            output.append(value)
            seen.add(value)
    return output

# Remove duplicates from this list.
sentence = input("Enter a sentence ")
words = sentence.split(' ')

result = remove_duplicates(words)
print(result)

非常困惑:(

答案 2 :(得分:0)

我在这里找到了答案:

position = [i + 1 for i in range(len(result))if = = result [i]]

效果很好。