通过集合判断元素是否相同

文章介绍了一道Python题目,通过创建集合判断列表中连续n个元素的唯一性,实现查找重复元素并打印。作者分享了如何使用集合的特性简化问题,并欢迎读者在评论区讨论
摘要由CSDN通过智能技术生成

一位同学发来这样一道Python题:

这个题可以用集合来做,集合具有互异性,只要每次给集合传入n个元素,判断其长度是否为1,即可判断这几个元素是否相同。

def func(lst,n):
count=0
lst2=[]
for i in range(len(lst)-n+1):
s=lst[i:i+n]
myset=set(s)
if len(myset)==1:
count+=1
lst2.append(lst[i])
print(count)
for j in range(len(lst2)):
for k in range(n-1):
print(lst2[j],end="")
print(",",end="")
print(lst2[j])

n=int(input())
str=input()
list=[]
for s in str:
if s!=’,
list.append(s)
func(list,n)

一开始是以字符串的形式输入,“,”没有什么功能,所以在判断的时候忽略掉了。最后打印的时候再添加上。
每次从列表中给入连续的3个元素到集合中,通过集合判断元素是否相等,个人感觉这个算法挺妙的。本文完,欢迎评论区探讨

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值