我想从以下列表中获取唯一值:
['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow']
我需要的输出是:
['nowplaying', 'PBS', 'job', 'debate', 'thenandnow']
此代码有效:
output = [] for x in trends: if x not in output: output.append(x) print(output)
我应该使用更好的解决方案吗?
首先正确声明你的列表,以逗号分隔。你可以通过将列表转换为一组来获得唯一值。
mylist = ['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow'] myset = set(mylist) print(myset)
如果进一步将其用作列表,则应执行以下操作将其转换回列表:
mynewlist = list(myset)
另一种可能(可能更快)的可能性是从头开始使用集合而不是列表。然后你的代码应为:
output = set() for x in trends: output.add(x) print(output)
正如已经指出的那样,集合不保持原始顺序。如果需要,则应查找有序集合实现