2014-09-18 2 views
-1

에서 사전을 구축하는 방법 :크기가 다른 두 개의 목록으로 두 개의 목록

result={number:cities[numbers.index(number)] for number in numbers if numbers.index(number)<len(cities)} 
:

result={1:'LA', 2:'NY', 3:'SF'} 

내가 함께 그 일을 생각 :

numbers=[1,2,3,4,5] 
cities=['LA','NY','SF'] 

나는 이것을 얻을 필요

하지만이 한 줄자는 길다. 같은 목표를 달성 할 수있는 대안이 있는지 궁금합니다.

는 나중에 편집 :

zip 사용하려고 여러 제안이 있었다 : 그것은 내가 실행하는 것이 더 빠를 것이다 궁금해 사용한 지능형리스트보다 확실히 간단한 구문이지만

dict(zip(cities, numbers)) 

은 ?

답변

3

는 사용 zip, 그것은 짧은 순서

dict(zip(cities, numbers)) 
1
numbers=[1,2,3,4,5] 
cities=['LA','NY','SF'] 
dict(zip(cities,numbers)) 

의 끝 개까지 압축 만 것이다 나는 그것이 비록 중복 의심)

- 검색을 당신이 게시하기 전에

+0

"it"가 중복 된 경우 대개 빨리 알 수 있습니다! – alphanumeric

1

가장 쉬운 것은 아마도 dict(zip(numbers,cities)) 입니다. 목록이 끝나면 우편 번호는 끝나고, 이는 원하는 것입니다.

관련 문제