본문 바로가기
Python

python 리스트를 딕셔너리로 한줄에 바꾸는 방법.

by dharana7723 2021. 12. 28.

기본적으로 여러 줄을 사용하면 많은 방법이 있지만,

 

자주 사용하는 방법인데 자꾸 까먹기도 하고 기본적인 사항이기 때문에 기록을 확실히 해두기로 결정했습니다.

 

기존에 hours = { "00":0, "01":0, ......  "23":0} 과 같은 선언이 있는데 black을 적용했을때 줄이 너무 길어지기도 하고,

이런 식으로 정형화 된 것이 아닌 변형이 있을때 한번에 적용할 수 있는 방식으로 적용하기 위해

 

hours = { str(i).zfill(2): 0 for i in range(24)} 와 같은 방식으로 구성했습니다.

단순히 key : value 와 for 문을 한줄로 쓰는 방식을 혼합한 것인데요,

zerofill는 이름처럼 길이를 parameter에 해당하는 값에 0을 채워줘서 맞춰주는 함수입니다.

 

이렇게 하면 동일한 { "00":0, "01":0, ......  "23":0}  과 같은 결과가 나옵니다.

 

zerofill은 자동으로 왼쪽을 채우게 되고, 오른쪽을 채우고 싶을때는 rjust, 왼쪽을 채우고 싶을때는 ljust와 같은 함수를 사용합니다.

rjust 및 ljust는 0뿐만 아니라 채울 문자를 선택할수 있습니다.