커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3-15강 웹 스크래핑 연습하기 중 (2) 번 질문입니다.
undefined주차
북마크
김*성
댓글
3
추천
1
조회수
17
조회수
17
답변 완료

정답 코드

target_movie = db.movies.find_one({'title':'가버나움'})
target_star = target_movie['star']


movies = list(db.movies.find({'star':target_star}))


for movie in movies:
    print(movie['title'])

위 정답코드처럼 마지막 print로 출력할 때 for 문으로 돌려주지 않고,


target_movie = db.movies.find_one({'title':'가버나움'})
target_star = target_movie['star']


movies = list(db.movies.find({'star':target_star}))

print(movie['title']

로 출력했을 때 오류가 나옵니다.


이게 제목으로 출력이 아닌 그 전 단계인 movies 자체를 출력할때는

for문 없이 바로 print(movies)로 출력 시 정답처럼은 아니지만 [{값}, {값}] 으로 나열되서 출력은 되는데

[{'title': '그린 북', 'rank': '02', 'star': '9.59'}, {'title': '가버나움', 'rank': '03', 'star': '9.59'}] 

▲ for 문 없이 바로 print(movies)로 출력

{'title': '그린 북', 'rank': '02', 'star': '9.59'}
{'title': '가버나움', 'rank': '03', 'star': '9.59'}

▲ for 문으로 돌리고 출력 시


제 짧은 생각으로는 위처럼 그냥 값이 출력되는 방식만 다르다고 생각해서 for 문 없이 print(movies['title']) 로 실행해봤더니 오류가 나왔습니다. 하나씩 출력하느냐, 나열해서 한번에 출력하느냐의 차이밖엔 없는 것 같은데 왜 하나는 출력이 되고 하나는 안되는 걸까요?


질문이 진도와 상관없는 질문인 것 같긴한데, 너무 궁금해서 질문합니다!


from pymongo import MongoClient
client = MongoClient('mongodb+srv://test:sparta@cluster0.tblhp.mongodb.net/Cluster0?retryWrites=true&w=majority')
db = client.dbsparta

target_movie = db.movies.find_one({'title':'가버나움'})
target_star = target_movie['star']


movies = list(db.movies.find({'star':target_star}))

print(movies['title'])

▲ 오류나는 코드 전체

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴