打印/附加数组中重复的元素只出现一次

14 浏览
0 Comments

打印/附加数组中重复的元素只出现一次

我有一个出现多次的字符串的大列表,我希望只出现一次的字符串只出现一次。

一个数字的例子是:

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

我想要得到的结果是

b = [1, 2, 3, 4]

我尝试过以下方式:

a = [1, 2, 2, 3, 4, 4]
[x for x in a if a.count(x) == 1]
[1, 3]

但这会省略重复的数字,只保留出现一次的数字。

0
0 Comments

问题:从数组中仅打印/追加重复元素一次的问题

问题的原因是:给定一个数组,需要找出数组中重复的元素,并将其仅打印/追加一次。

解决方法:

我们可以使用Python中的collections.Counter()函数来解决这个问题。Counter()函数会计算数组中每个元素的出现次数,并以字典的形式返回。

首先,我们导入collections模块。然后,定义一个数组a,其中包含一些重复的元素。接下来,我们使用collections.Counter(a)来计算数组a中每个元素的出现次数。

然后,我们使用列表推导式来遍历Counter(a)中的每个元素和其出现次数。最后,我们打印出每个元素。

下面是完整的代码示例:

import collections
a = [1, 2, 2, 2, 3, 3, 4, 4, 5, 6, 7, 7, 8]
print([item for item, count in collections.Counter(a).items()])

运行以上代码,输出结果为:[1, 2, 3, 4, 5, 6, 7, 8]。

这样,我们就成功地通过使用Counter()函数和列表推导式来仅打印/追加了一次数组中的重复元素。

0