Python 如何删除列表中字符串中的重复项?

Python 如何删除列表中字符串中的重复项?,python,Python,我有一个字符串列表,但每个字符串都是重复的,我需要删除。 f、 e: 等等 我需要: lst = ('word1 2 36' 'word2 96 5 14' 'word3 45 6') 一般来说: 为每个关键字创建一个字典 在此键中,将列表中的项目2到n转换为集合 遍历字典,根据每个键及其集合的内容构建一个新列表 你的问题不是很清楚,你写的“列表”不是一个列表,而是一个字符串。我想你可能想把它变成一个元组,但即使这样,你也需要在项目之间加逗号 在下面的示例中,我们迭代这些项,拆分字符串函数,将

我有一个字符串列表,但每个字符串都是重复的,我需要删除。 f、 e:

等等

我需要:

lst = ('word1 2 36' 'word2 96 5 14' 'word3 45 6')
一般来说:

  • 为每个关键字创建一个
    字典
  • 在此键中,将
    列表
    中的项目2到n转换为
    集合
  • 遍历字典,根据每个键及其集合的内容构建一个新列表

  • 你的问题不是很清楚,你写的“列表”不是一个列表,而是一个字符串。我想你可能想把它变成一个元组,但即使这样,你也需要在项目之间加逗号

    在下面的示例中,我们迭代这些项,拆分字符串函数,将这些项添加到,再次将它们与字符串连接在一起,并将它们附加到输出列表(这次是一个真实的列表):

    这可以通过列表理解更简洁地编写:

    >>> lst = ('word1 2 36 2 2', ' word2 96 5 5 5 14', 'word3 45 6 45 45')
    >>> out = [" ".join(set(item.split())) for item in lst]
    >>> out
    ['2 word1 36', '96 5 14 word2', '45 word3 6']
    

    这些看起来不像Python
    list
    s,但不管怎样,您对算法的哪一部分感到困惑?向我们展示您迄今为止尝试的内容,我们将尽力提供帮助。听起来有点像OP之前的一个问题。是的,很抱歉我忘记了逗号,但更具体地说,我需要保持顺序,它必须是第一个单词1,数字之后必须与之前的顺序相同,因为单词不会重复,只有数字,所以我需要在左边留下单词,删除数字中的重复项,然后按照Alex在上面写的做。另外,你应该解释为什么你想在你的帖子中做一些事情。你得到了很多反对票,因为你的问题很草率,没有给出任何背景。你真的需要回字符串吗?若然,原因为何?你为什么要维持秩序?到目前为止,你都试了些什么?如果你解释更大的图片,你可能会得到更多有用的答案(即,教你一些东西的答案,而不是回答你狭窄且可能“错误”的问题)。因此,在我的程序中,输入是textfile,我需要制作另一个textfile,其中包含输入文件中的所有单词以及这些单词出现的行数。单词和数字不能重复。现在我有了这些单词的列表,如果我从中生成输出文件,它看起来像:word1 2 2 word2 2 5 6 2 word3 25 26 89 25。但每一个字都在新行,而且都是重复的。所以唯一的问题是数量上的重复。在乞讨时,我移除像这样的字符,“等我把它放入两个分开的元组后,I'vs生成defaultdict(列表)将多个值放入一个键…………在I'vs生成输出=[key+”“+str(dct[key])后,用于dct中的键,所以现在我有了输出,但仍然有重复的数字(dct[key]).我不知道如何删除重复项,如果我选择在输出中删除,或者在dct之前删除,我不知道如何删除
    >>> lst = ('word1 2 36 2 2', ' word2 96 5 5 5 14', 'word3 45 6 45 45')
    >>> out = []
    >>> for item in lst:
    ...   tokens = item.split()
    ...   s = set(tokens)
    ...   joined = " ".join(s)
    ...   out.append(joined)
    ... 
    >>> out
    ['2 word1 36', '96 5 14 word2', '45 word3 6']
    
    >>> lst = ('word1 2 36 2 2', ' word2 96 5 5 5 14', 'word3 45 6 45 45')
    >>> out = [" ".join(set(item.split())) for item in lst]
    >>> out
    ['2 word1 36', '96 5 14 word2', '45 word3 6']