为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕工程0101907 2023-04-25 16:36:50
如何编写代码来识别发生移位的索引并从 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'] 
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

这是一个解决方案


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)


查看完整回答
反对 回复 2023-04-25
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

这是一个可能的解决方案:


indexes = [i for i in range(1, len(array1)) if array1[i-1] != array1[i]]

final = [array2[i] for i in indexes]


查看完整回答
反对 回复 2023-04-25
  • 2 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信