문제
다음과 같은 사람들이 있습니다.
- 뉴진스를 좋아하는 사람: 철수, 영희, 민수, 지현, 서연
- 아이브를 좋아하는 사람: 영희, 민수, 지수, 서연, 하나
- 에스파를 좋아하는 사람: 철수, 지현, 지수, 서연, 나영
이 중에서 뉴진스와 아이브를 모두 좋아하지만 에스파는 좋아하지 않는 사람은 누구일까요?
힌트in 키워드를 사용하여 항목이 목록에 있는지 확인할 수 있습니다.
# 책 목록에 특정 책이 있는지 확인하는 예시
books = ["해리포터", "반지의 제왕", "셜록 홈즈"]
if "해리포터" in books:
print("해리포터가 목록에 있습니다.")
append 메서드를 사용하여 결과 목록에 새로운 항목을 추가할 수 있습니다.
# 장바구니에 물건을 추가하는 예시
shopping_cart = []
shopping_cart.append("사과")
shopping_cart.append("바나나")
print(shopping_cart) # 출력: ["사과", "바나나"]
join 메서드를 사용해 목록의 항목을 하나의 문자열로 결합할 수 있습니다.
# 목록의 항목을 문자열로 결합하는 예시
fruits = ["사과", "바나나", "오렌지"]
result = ", ".join(fruits)
print("내가 좋아하는 과일:", result) # 출력: 내가 좋아하는 과일: 사과, 바나나, 오렌지
풀이
문제 상황
목표:
- new 리스트에서 요소를 하나씩 확인합니다.
- 해당 요소가:
- ive 리스트에도 포함되어 있어야 하고,
- aspa 리스트에는 포함되지 않아야 합니다.
코드 설명
코드
new = ["철수", "영희", "민수", "지현", "서현"]
ive = ["영희", "민수", "지수", "서연", "하나"]
aspa = ["철수", "지현", "지수", "서연", "나영"]
for x in new: # 'new' 리스트의 각 요소를 순회
if x in ive: # 'ive' 리스트에도 포함되어 있는지 확인
if x not in aspa: # 'aspa' 리스트에는 포함되지 않는 경우
print(x) # 조건을 만족하면 출력
코드의 실행 과정
- for x in new:
- new 리스트의 요소를 하나씩 꺼내옵니다.
- 첫 번째 반복에서는 x = "철수", 두 번째 반복에서는 x = "영희"가 됩니다.
- if x in ive:
- x가 ive 리스트에도 포함되어 있는지 확인합니다.
- 예를 들어, "철수"는 ive에 없지만, "영희"는 ive에 포함되어 있으므로 조건을 만족합니다.
- if x not in aspa:
- x가 aspa 리스트에는 포함되지 않는지 확인합니다.
- 예를 들어, "영희"는 aspa에 없으므로 조건을 만족합니다.
- print(x)
- 위 조건을 모두 만족하는 경우, 해당 값을 출력합니다.
코드 동작 과정 자세히 보기
1. 첫 번째 요소: "철수"
- if x in ive: "철수"는 ive 리스트에 없으므로 다음 반복으로 넘어감.
2. 두 번째 요소: "영희"
- if x in ive: "영희"는 ive 리스트에 있음 → 조건 만족.
- if x not in aspa: "영희"는 aspa 리스트에 없음 → 조건 만족.
- 출력: "영희"
3. 세 번째 요소: "민수"
- if x in ive: "민수"는 ive 리스트에 있음 → 조건 만족.
- if x not in aspa: "민수"는 aspa 리스트에 없음 → 조건 만족.
- 출력: "민수"
4. 네 번째 요소: "지현"
- if x in ive: "지현"은 ive 리스트에 없음 → 조건 불만족.
- 다음 반복으로 넘어감.
5. 다섯 번째 요소: "서현"
- if x in ive: "서현"은 ive 리스트에 없음 → 조건 불만족.
- 다음 반복으로 넘어감.
출력 결과
영희
민수
해결한 방식
- 두 조건을 단계별로 확인:
- x in ive: 먼저 new의 요소가 ive에 있는지 확인.
- x not in aspa: 이후 aspa에는 없는지 확인.
- 조건 만족 시만 출력:
- 두 조건을 모두 만족하는 요소만 print(x)로 출력.
- 결과:
- "영희"와 "민수"는 ive에는 포함되고, aspa에는 포함되지 않으므로 출력되었습니다.
'Python' 카테고리의 다른 글
4.2.3 연습 문제: 회문 판별 함수 만들기 (2) | 2024.11.29 |
---|---|
4.2.2 슬라이싱 (0) | 2024.11.29 |
4.2 문자열과 리스트 (1) | 2024.11.29 |
4.1 자료형 (0) | 2024.11.29 |
3.5 람다(lambda) (0) | 2024.11.29 |