본문 바로가기
파이썬

파이썬 for 루프를 사용하여 사전 채우기 (Python)

by º기록 2020. 11. 23.
반응형

for 루프를 사용하여 사전을 만들려고합니다. 내 코드는 다음과 같습니다.

dicts = {}
keys = range(4)
values = ["Hi", "I", "am", "John"]
for i in keys:
    for x in values:
        dicts[i] = x
print(dicts)

결과는 다음과 같습니다.

{0: 'John', 1: 'John', 2: 'John', 3: 'John'}

왜?

나는 그것을 출력 할 계획이었다.

{0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}

왜 그렇게 출력되지 않으며 어떻게 올바르게 출력합니까?

 

해결 방법

 

dicts = {}
keys = range(4)
values = ["Hi", "I", "am", "John"]
for i in keys:
        dicts[i] = values[i]
print(dicts)

대안으로

In [7]: dict(list(enumerate(values)))
Out[7]: {0: 'Hi', 1: 'I', 2: 'am', 3: 'John'}

 

참조 페이지 https://stackoverflow.com/questions/30280856

 

 

반응형

댓글