如何编写代码来识别发生移位的索引并从 python 中的另一个数组中获取相应的值?

如何编写代码来识别发生移位的索引并从 python 中的另一个数组中获取相应的值?


array1 = (0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,2,2,2,3,3,3,3,3,1,1,1)


array2 = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',

          'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',

          'w', 'x', 'y', 'z')

最终输出应该是两个数组,一个应该包含从 array2 获取的元素,另一个应该包含班次的索引号。


期望的输出:


Indexes: [3, 8, 12, 15, 18, 23] 

Final: ['d', 'i', 'm', 'p', 's', 'x'] 


慕工程0101907
浏览 100回答 2
2回答

温温酱

这是一个解决方案array1= [0,0,0,1,1,1,1,1,2,2,2,2,3,3,3,2,2,2,3,3,3,3,3,1,1,1]array2= ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']cur=array1[0]indxes=[]final=[]for i in range(1,len(array1)): if array1[i]!=cur:    cur=array1[i]    indxes.append(i)    final.append(array2[i])print(indxes)print(final)

神不在的星期二

这是一个可能的解决方案:indexes = [i for i in range(1, len(array1)) if array1[i-1] != array1[i]]final = [array2[i] for i in indexes]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python