python列表中不同元素的个数(不含set函数)



我有下面的练习,但是我不能算出来,下面的代码只是演示尝试,我已经尝试了其他几个。也许有人能给点启示。如果我使用嵌套的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)

感谢Mahrkeenerh,我认为这是有效的,它是简单的

my_list=[2, 2, 2, 2, 2, 2, 3,3 ,2]
new_list=[]
for x in my_list:
if x not in new_list:
new_list.append(x)
count=0
for k in new_list:
count = count+1
print (count)
my_list = [1, 1, 2, 2, 2, 3, 5, 6]
count = 0
n = len(my_list)
i = 0
while i < n:
while (i < n - 1 and my_list[i] == my_list[i + 1]): # Move ahead if there are duplicates
i += 1
count += 1
i += 1
print(count)

遍历列表并向另一个列表添加新值,然后打印新列表的长度

my_list = [1, 1, 2, 2, 2, 3, 5, 6]
unique_list = []
for i in my_list:
if i not in un_l:
unique_list.append(i)
print(len(unique_list))

相关内容

  • 没有找到相关文章

最新更新