如何在Python中计算2个元素之间的间隔
在Python中,我有如下列表:如何在Python中计算2个元素之间的间隔,python,list,Python,List,在Python中,我有如下列表: [nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan] [nan, nan, 0, 0, 1, 0, 0, 1, 0, 1, 0, nan, nan, nan] 我想计算0之间的间隔,或者我想将其转换为以下内容: [nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan] [nan, nan, 0, 0, 1, 0, 0, 1, 0, 1
[nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan]
[nan, nan, 0, 0, 1, 0, 0, 1, 0, 1, 0, nan, nan, nan]
我想计算0之间的间隔,或者我想将其转换为以下内容:
[nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan]
[nan, nan, 0, 0, 1, 0, 0, 1, 0, 1, 0, nan, nan, nan]
平均间隔为1。
有没有合适的方法来执行此操作?这里有一个快速脚本,我希望它能满足您的要求
nan = "nan"
list = [nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan]
occurances = list.count(0)
counter = 0
after1 = False
newlist = []
for I in list:
if I == 0:
counter += 1
after1 = True
elif after1 == True and counter < occurances:
I = 1
else:
after1 = False
newlist.append(I)
print(newlist)
你说你想数一数间隔;如果您有
[nan,0,nan,nan,0]
,会发生什么?应该是2
而不是1
?您使用的是numpy吗?什么是nan
?@Alex几乎可以肯定numpy.@roganjosh会假设,但OP有列表
标记欢迎来到StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。然而,若你们遵循你们在网上找到的任何资源,进行诚实的编码尝试,并遇到问题,你们将有一个很好的例子发布。