我正在尝试用Python构建两个不同的函数。你知道吗
剥离连续值:期望结果:
exampleArrray = [0,0,0,0,1,1,1,1,1,1,2,2,2,1,1,2,1,2,1,1,2,2,2,2,2,2,1,1,1,1,0,0]
strippedArray = [0,1,2,1,2,1,2,1,2,1,0]
到目前为止,我尝试了:
def stripArray(array):
lengthArray = len(array)
for i in range (1,lengthArray):
print(i)
print(lengthArray)
if (i<lengthArray):
if(array[i-1] == array[i]):
print("has been delted " + str(array[i]))
del(array[i])
i = i -1
lengthArray = lengthArray -1
print(array)
stripArray([0,0,0,0,1,1,1,1,1,1,2,2,2,1,1,2,1,2,1,1,2,2,2,2,2,2,1,1,1,1,0,0])
输出:[0,0,1,1,1,2,2,1,2,1,2,1,2,2,2,1,1,1,0],我可以再次循环,但我认为有更好的方法吗?你知道吗
计算连续值并联接
伪: 4x0,6x1,3x2,2x1,1x2,1x1,1x2,2x1,6x2,4x1,2x0
exampleArrray = [0,0,0,0,1,1,1,1,1,1,2,2,2,1,1,2,1,2,1,1,2,2,2,2,2,2,1,1,1,1,0,0]
countArray = [40,61,32,21,12,11,12,21,62,41,20]
我想我需要这个条纹阵列?你知道吗
编辑:
countArray[0] = OccurencesAfterAnother*10 + stripArray[0]
解决:我们有3个完美的功能答案!谢谢大家!你的答案完全不同,我真的很喜欢!你知道吗
编辑: 感谢大家对公认答案的贡献!同样是未来的观众,有不同的解决方案,不是所有的人都需要导入,其他人都在使用numpy方法。感谢所有的贡献者!你知道吗
有一种方法:
试试这个
输出
您的
stripArray
可能如下所示:我不懂
countArray
,所以我没办法。也许你应该提供更多的细节更新:
相关问题 更多 >
编程相关推荐