微信页面设计网站,谷歌云做网站服务器,云服务器可以自己搭建吗,wordpress sql插件在一个列表中#xff0c;找出重复数组的位置。 比如在列表name [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]中#xff0c;找出2的位置。 方法1#xff1a; 流程为#xff1a; 找到第一个2的位置#xff0c;然后在2之后的一个数后面切片…在一个列表中找出重复数组的位置。 比如在列表name [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]中找出2的位置。 方法1 流程为 找到第一个2的位置然后在2之后的一个数后面切片再找2再再后一个数切片循环下去。 第一个2的位置就是name中第一个2的位置。 第二个2的位置为第一个2的位置加上第二个切片中2的位置加1位置从0开始 第三个以此类推。 代码 #_*_coding:utf-8_*_name [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]new_pos 0 #初始位置定位0
for i in range(name.count(2)): # for循环次数为2出现的次数new_list name[new_pos:] #切片从刚开始的0处切片实现new_list namenext_pos new_list.index(2) #第一个2的位置找出print next_pos new_pos #输出2的位置由新位置加上下一个位置new_pos next_pos 1 #新的位置为自身加上下一个位置再加一因为切片要从2之后的一个数开始否则下一个2位置永久为0 输出结果 方法2超暴力 流程为 从第一个2开始每次都把这个位置的2删掉以后2的位置加上删掉2的次数即可。 代码如下 #_*_coding:utf-8_*_name [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]for i in range(name.count(2)): # 循环次数为列表中2出现的次数print name.index(2) i # 输出2的位置加上i的数i为0、1、2、3……恰好前面删掉2的次数del name[name.index(2)] # 删掉当前输出的2,形成新的列表进入下次循环 输出结果 转载于:https://www.cnblogs.com/wuqiangroy/p/5971677.html