python列表重复值_python – 在列表中查找项目和重复项

我正在使用

Python并考虑以下问题:给出一个列表,例如[1,-2,4,5,3]多次包含0的整数,我希望有这些0和每一个的索引是它出现在列表中的次数,直到出现不同的元素或列表结束.

给定l = [1,0],函数将返回((1,1),(3,2),(7,1)).结果是一个元组列表.元组的第一个元素是给定元素的索引(在列表中),第二个元素是在不同元素出现或列表结束之前重复的次数.

天真地,我会写这样的东西:

def myfun(l,x):

if x not in l:

print("The given element is not in list.")

else:

j = 0

n = len(l)

r = list()

while j <= (n-2):

count = 0

if l[j] == x:

while l[j + count] == x and j <= (n-1):

count +=1

r.append((j,count))

j += count

else:

j += 1

if l[-1] == x:

r.append((n-1,1))

return r

但我想知道是否会有更好的(更短的?)方式做同样的事情.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值