首页 > 解决方案 > 在数组中打印出奇数次

问题描述

list = [1,1,1,1,2,2,2,2,3,3,3,4,4,4,4]

for int in list:
    e = list.count(int)
    if (e%2) == 1:
        print(int)

因此,在这段代码中,我试图获取列表中奇数次的数字并将其打印出来。在这种情况下,数字 3 是唯一出现奇数次的数字。但不仅仅是打印出来3,而是打印出来

3
3
3

我怎样才能让它打印出来3

标签: pythonarrays

解决方案


您可以创建一组在数组中出现奇数次的数字,附加到该组而不是立即打印,然后在第一次循环后,打印该组中的所有内容。另外,不要对变量名使用保留关键字。

nums = [1,1,1,1,2,2,2,2,3,3,3,4,4,4,4]
odds = set()
for i in nums:
    e = nums.count(i)
    if (e%2) == 1:
        odds.add(i)

for i in list(odds):
    print(i)

推荐阅读