【问题标题】:How can I make my list return each element only once in a list?如何让我的列表在列表中只返回每个元素一次?
【发布时间】:2021-12-22 19:25:09
【问题描述】:

所以我编写了这段代码来返回给定lst: list 中的每个字符串一次。这是我的代码

def make_unique(lst: list[str]):
    s = []
    for x in lst:
        if lst.count(x) == 1:
           s.append(x)
        else:
           return(x)
    return s

当我输入时:

print(make_unique(lst=['row','mun','row']))

输出返回

row

但我希望我的输出返回

['row','mun']

这基本上是列表中的所有字符串打印一次。 我该怎么做??

【问题讨论】:

    标签: python list


    【解决方案1】:

    为什么不试试这一行短代码从列表中删除重复项并使其独一无二

    def make_unique(lst):
        return list(dict.fromkeys(lst))
    
    print(make_unique(['row','mun','row'])) #['row','mun']
    

    【讨论】:

      【解决方案2】:

      简单的方法是把列表变成一个集合。一套只显示每个项目一次,这就是你想要的。

      lst=['row','mun','row']
      setLst = set(lst)
      for elem in setLst:
          print(elem)
      

      【讨论】:

        【解决方案3】:

        你可以使用set。

        lst=['row','mun','row']
        print(set(lst))
        

        【讨论】:

          猜你喜欢
          • 2021-08-31
          • 1970-01-01
          • 2022-06-15
          • 2022-01-15
          • 2015-01-31
          • 1970-01-01
          • 2013-04-30
          • 2013-11-26
          • 1970-01-01
          相关资源
          最近更新 更多