에 존재하는 0이 아닌 값을 반환파이썬 - 두 개의 목록을 비교하고 내가 두 개의 목록이 더 모두 목록
a= [4,5,4,0,1,0]
b= [0,4,4,0,0,0]
가 어떻게 더 제로보다는 모두 인덱스에 따라 값이 자신의 하위 목록을 생성 할 수 있습니다 기울기. 예 :
sub_list_a =[5,4]
sub_list_b = [4,4]
다음 코드는 하위 목록을 생성합니다. 나는이 작업을 수행하는 우아한 방법이 있는지 궁금합니다 ..
idxa = [i for i, e in enumerate(a) if e != 0]
idxb = [i for i, e in enumerate(b) if e != 0]
inter = list(set(idxa) & set(idxb))
from operator import itemgetter
print ('sub_list_a',itemgetter(*inter)(a))
print ('sub_list_a',itemgetter(*inter)(b))
불분명 함. 'sub_list_b'는 왜 [4,5]입니까? '5'는 어디에서 왔습니까? –
당신이 무엇을 요구하고 있는지 명확하지 않습니다. 당신은 더 구체적 일 수 있습니까? –
확실히 첫 번째 목록에는 1이 있어야하고 두 번째 목록에는 1이 있어야합니다. 너 뭐 해봤 니? – Sayse