【问题标题】:how to filter a words in list that don't Repeat in python?python - 如何过滤列表中不重复的单词?
【发布时间】:2019-07-16 17:39:19
【问题描述】:

我想从列表中删除重复项并保持原始列表的顺序,如我的示例所示:

['hangman', 'song', 'most', 'broadly', 'song', 'hangman', 'work', 'music', 'work', 'broadly', 'typically'] 

我想要这个:

['hangman', 'song', 'most', 'broadly', 'work', 'music', 'typically']

我该怎么做:

【问题讨论】:

  • 请查看此内容,了解如何创建一个最小且完整的可验证示例,并且可能在要求用户群为您完成之前实际尝试完成此作业? stackoverflow.com/help/mcve 另请查看此页面以获取有关如何在此处提出家庭作业问题的指导:meta.stackoverflow.com/questions/334822/…
  • 你试过set(your_list)吗?

标签: python list


【解决方案1】:

您可以为此使用set,设置不会多次接受一项:

old_list = ['hangman', 'song', 'most', 'broadly', 'song', 'hangman', 'work', 'music', 'work', 'broadly', 'typically'] 

new_list = list(set(old_list))

new_list 将是:

['hangman', 'song', 'most', 'broadly', 'work', 'music', 'typically']

【讨论】:

    【解决方案2】:

    您可以使用Set 执行此操作。 Python 在此处设置实现文档(假设您使用的是 python3)enter link description here。使用第一个列表作为输入,您可以将所有元素添加到集合中,并且添加操作将忽略重复项。但是,当从集合中读取时,不能保证顺序。

    示例:

    >>> mylist = ["a", "b", "c", "a"]
    >>> myset = set(mylist)
    >>> myset
    set(['a', 'c', 'b'])
    

    【讨论】:

      【解决方案3】:

      这将保留您的 old_list 的顺序,以备不时之需。

      old_list = ['hangman', 'song', 'most', 'broadly', 'song', 'hangman', 'work', 'music', 'work', 'broadly', 'typically']
      
      new_list = []
      
      for n in old_list:
          if n not in new_list:
              new_list.append(n)
      
      print(new_list)
      

      【讨论】:

        【解决方案4】:

        要在 Python 3.7 中删除重复项并保持原始列表的顺序,您可以使用 dict.fromkeys():

        l = ['hangman', 'song', 'most', 'broadly', 'song', 'hangman', 'work', 'music', 'work', 'broadly', 'typically'] 
        
        list(dict.fromkeys(l))
        # ['hangman', 'song', 'most', 'broadly', 'work', 'music', 'typically']
        

        否则使用OrderedDict

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-10
          • 2012-11-19
          • 1970-01-01
          • 2012-12-12
          • 2019-12-15
          • 1970-01-01
          • 2020-02-11
          • 2019-01-26
          相关资源
          最近更新 更多