내가 배열에리스트의 인덱스를 저장하고 싶었파이썬 - 주문 DICT
[OrderedDict([('a', 1), ('b', 2)]), OrderedDict([('a', 1), ('b', 3)]), OrderedDict([('a', 2), ('b', 2)]), OrderedDict([('a', 3), ('b', 2)]), OrderedDict([('a', 1), ('b', 3)])]
다음과 같이 유사하게 보이는 주문한 DICT의 목록을 보내고있어 목록에서 일치하는 값에 대한 모든 인덱스를 찾기하는 그래서, 내 목록 요소 아래에 포함됩니다 1
로 a
값이된다
[0,1,4]
나는이 값을 얻기 위해 전통적인 스크립트를 사용하고 있지만, 원래의 목록에는 100 만 개 이상의 주문 된 dict가 있기 때문에 요소를 가져 오는 데 더 오랜 시간이 걸립니다.
for ele in range(len(liso)):
if(liso[ele]['a'] ==1):
giso.add(ele)
사람이 쿼리를 최적화하기 위해 map
또는 filter
를 사용하여 위의 스크립트를 다시 작성하는 데 도움이 수 있습니까?
첫째, 파이썬의 버전입니다 이? 또한 '기소'는 정확히 무엇입니까? – roganjosh