【发布时间】:2021-12-08 23:24:33
【问题描述】:
我有下面的练习,但我做不出来,下面的代码只是演示尝试,我尝试了其他几个。也许有人可以提供一些启示。如果我使用嵌套的 for 循环,它只会生成具有所有可能组合的笛卡尔积。但显然,我错过了一些东西
给定一个所有元素都按升序排列的数字序列,返回其中不同元素的数量。
输入:
1 1 2 3 3
输出:
3
你不能使用 set:
my_list=[1, 1, 2, 2, 2, 3, 5 ,6]
count=0
for x in my_list:
if x ==2:
count = count +1
print (count)
【问题讨论】:
-
循环遍历列表,将所有新数字添加到新列表中,如果还没有,则计算新列表
-
如果
Counter被允许,那么试试这个 -len(Counter(lst).keys())如前所述。 -
Mahrkeenerh 感谢它的工作原理,而且很简单!
-
len(dict.fromkeys(my_list).keys())?