일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- 참가후기
- 22938번
- MongoDB
- html
- ㅐㄱ이
- css
- GIT
- python
- sql
- 스파르타
- jquery
- 스파르타코딩클럽
- 프로그래머스입문
- 반응형
- 파이썬
- 장고 다중이미지
- 20492번
- useState
- SEF2022
- error
- 네이버커넥트재단
- React
- 무료강의
- 파이썬무료강의
- 장고이미지처리
- 개인정보수집유효기간
- django multi image
- 프론트엔드
- 코딩기초트레이닝
- Today
- Total
코딩,해볼까
03.22. 파이썬 300제 풀이 본문
0. 오늘 배운 것
심화 강의 완강
초보자를 위한 파이썬 300제로 삽질.
1. 문제점
Filter 함수를 통해서 string에 있는 글자 중 원하는 글자를 골라내어 출력할 수 있지 않을까 라는 생각에서 출발.
filter 함수 예제는 대부분 list를 가지고 원하는 정보를 골라내었는데 string으로 해보고 싶었다.
예제를 찾아봤는데 string으로 할 수 있는 방법이 없었다.
2. 시행착오
원래 예제에서 원하는 답은 아래와 같다.
string = "홀짝홀짝홀짝"
print(string[0])
print(string[2])
print(string[4])
하지만 나는 이것을 다른 함수로 표현해 보고 싶었다.
filter 함수를 도전했으나 실패. filter 함수는 꼭 함수를 인자로 받아야 한다.
result = filter("홀", string)
print(result)
# 오류 : filter 함수는 함수를 인자로 받는다.
string에서 "홀" 이라는 글자를 가져와서 == "홀" 과 같으면 print 홀 함수를 실행시킨다.
string["홀"] 안에 인덱스가 정수로 들어가야 한다는 TypeError 를 뱉었다.
def find_holl(string):
return string["홀"] == "홀"
for holl in filter(find_holl,string):
print(holl)
# TypeError: string indices must be integers 문자열의 인덱스는 문자가 아닌 정수로 줘야 한다.
return string[ ] << 이 부분에 문제가 있는데.. 어떻게 바꿔야 할지 모르겠다.
string = "홀짝홀짝홀짝" str - 한문장
string = ["홀", "짝", "홀", "짝", "홀", "짝"] list
def find_holl(string):
return string[0] == "홀"
for holl in filter(find_holl, string):
print(holl)
# 왜 되는건지 모르겠음.
# 이렇게 사용하는 것이 맞는건지? filter 함수로 string의 글자를 골라낼 수 잇는지
# string 의 글자들이 홀과 같을 때
3. 해결방법
list = []
def find_holl(string):
for i in string:
if i == "홀":
list.append(i)
print(list)
#<function find_holl at 0x00000285D699CB80>
for문을 사용했을때는 정상적으로 잘 작동하는 모습.
string에 있는 i 가 "홀" 과 같을 때 list에 i를 추가한다.
list를 출력 = ["홀", "홀", "홀"] 이렇게 정상적으로 출력된다.
list = []
for i in string:
if i == "홀":
list.append(i)
print(list)
4. 알게된 점
filter 는 list 와 함께 쓰자.
for, map 과 같은 어렵다고 생각되는 함수를 많이 사용해보자.
기본적인 함수 작성법, 문법을 아직 잘 모르고 있으니 기초에 충실하자.
'Back > TIL' 카테고리의 다른 글
03.24. 점프 투 파이썬 02장 완료 (0) | 2023.03.28 |
---|---|
03.23. 파이썬과 친해지기 3일차 (2) | 2023.03.23 |
03.21. 오늘도 파이썬 문법 공부 (1) | 2023.03.21 |
03.20. 파이썬 문법 기초 / SyntaxError : error_log (0) | 2023.03.20 |
💫 03.17. 팝업창에 대한 문제점 (0) | 2023.03.17 |