关于python:列表:仅当打印数字不重复时才打印

Lists : printing number only if its not a duplicate

本问题已经有最佳答案,请猛点这里访问。

给定一个n个数字的列表,我如何打印除重复项之外的每个元素?

1
d = [1,2,3,4,1,2,5,6,7,4]

例如,从这个列表中,我想打印:1、2、3、4、5、6、7


既然顺序无关紧要,你可以简单地做到:

1
2
>>> print list(set(d))
[1, 2, 3, 4, 5, 6, 7]

阅读有关sets的资料会很有帮助。


如果订单无关紧要:

1
print set(d)

如果类型很重要(需要列表吗?)

1
print list(set(d))

如果订单很重要:

1
2
3
4
5
6
7
8
def unique(d):
    d0 = set()
    for i in d:
        if not i in d0:
             yield i
        d0.add(i)

print unique(d)


你所要做的就是

  • 创建数组。
  • 获取列表的元素。
  • 如果元素存在于数组中,则保留它。
  • 如果它不存在,打印出来。