在python列表中查找未使用类似值分组的项
我正在尝试(使用Python)为列表中没有使用类似值分组的项获取索引列表在python列表中查找未使用类似值分组的项,python,Python,我正在尝试(使用Python)为列表中没有使用类似值分组的项获取索引列表 例如,给定列表[1,1,0,0,1,1,0,0]索引4,5,6,7处的项目是错误的,因为它们并没有和第一组相似的值分组。第一次在列表中看到一个项目或类似的项目组被认为是正确的位置,所以顺序并不重要。理想情况下,我会得到一个索引列表,如[4,5,6,7]您能检查一下这是否适合您吗 input_list=[1,1,0,0,1,1,0,0] dict1={} #dictionary to store the values ret
例如,给定列表
[1,1,0,0,1,1,0,0]
索引4,5,6,7处的项目是错误的,因为它们并没有和第一组相似的值分组。第一次在列表中看到一个项目或类似的项目组被认为是正确的位置,所以顺序并不重要。理想情况下,我会得到一个索引列表,如[4,5,6,7]
您能检查一下这是否适合您吗
input_list=[1,1,0,0,1,1,0,0]
dict1={} #dictionary to store the values
return_list=[]
for i,v in enumerate(input_list):
x=dict1.get(v)
if(x!=None and x!=i-1):
return_list.append(i)
else:
dict1[v]=i
print(return_list)
输出:
[4, 5, 6, 7]
>>>
像这样的怎么样
def checkgrouped(列表:列表)->列表:
usedvalues=[]#存储已使用的值
badindexes=[]#存储无效项的索引
对于范围内的i(len(List)):#迭代范围而不是列表本身,以便于检查相邻项和获取索引
if List[i]in usedValue:#检查项目是否已存储在used value中
badindexes.append(i)#如果项无效,则将项的索引附加到坏索引
elif列表[i]!=列表[i+1]:#检查项目是否与下一个项目相同
附加(列表[i])#将项附加到已用值列表中
返回不良索引
以下是方法:
def check(lst):
d = []
for i,v in enumerate(lst):
if v not in d or d[-1] == v:
d.append(v)
else:
return [q for q in range(i,len(lst))]
print(check([1,1,0,0,1,1,0,0]))
[4, 5, 6, 7]
输出:
def check(lst):
d = []
for i,v in enumerate(lst):
if v not in d or d[-1] == v:
d.append(v)
else:
return [q for q in range(i,len(lst))]
print(check([1,1,0,0,1,1,0,0]))
[4, 5, 6, 7]
你说他们没有分组是什么意思?前四个值重复两次。如果第一次正确,为什么要返回列表中的最后四个位置?