如何找到一个列表中第一、第二个与另一个列表中任意元素相同的元素的索引?
例如:
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = ['a', 'c', 'f', 'h']
在这种情况下,期望的输出是字符串 'a' 和 'c' 的列表 indices = [0,2]。
如何找到一个列表中第一、第二个与另一个列表中任意元素相同的元素的索引?
例如:
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = ['a', 'c', 'f', 'h']
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = ['a', 'c', 'f', 'h']
out = []
for i, v in enumerate(story):
if v in elementsToCheck:
out.append(i)
if len(out) == 2:
break
print(out)
输出:
[0, 2]
[i for i, x in enumerate(story) if x in elementsToCheck][:2]
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = ['a', 'c', 'f', 'h']
tmp=[]
for i in range(0,len(elementsToCheck)):
if elementsToCheck[i] in story and i<2:
tmp.append(story.index(elementsToCheck[i]))
print(tmp)
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = {'a', 'c', 'f', 'h', 'd'}
idxs = {story.index(x) for x in elementsToCheck if x in story}
print(
min(idxs), min(idxs-{min(idxs)})
)
def firstShared(story,elementsToCheck,n=2):
overlap = set(i for i in elementsToCheck if i in story)
firstn = sorted(overlap,key=elementsToCheck.index)[:n]
indices = [story.index(i) for i in firstn]
return(indices)
if __name__ == '__main__':
n = 2
story = ['a', 'b', 'c', 'd', 'b', 'c', 'c']
elementsToCheck = ['a', 'c', 'f', 'h']
# elementsToCheck = ['a', 'b', 'c', 'd', 'f', 'h']
for i in range(4):
print(firstShared(story,elementsToCheck,i))
# []
# [0]
# [0, 2]
# [0, 2]
[0,2,5,6]
呢?这些也是elementsToCheck
的前两个元素['a', 'c']
的索引吗? - quamranastory
的开头再加上一个'a'
,那么结果应该是什么? - superb rain