본문 바로가기

Python

(73)
[Python] for문 사용해서 list 원소 값 변경하는 방법 가능 def solution(s, n): s = ["A", "b", "C", "d"] for i in range(len(s)): if s[i].isupper(): s[i]= s[i].lower() print(s) # ["a", "b", "c", "d"] 불가능 def solution(s, n): s = ["A", "b", "C", "d"] for c in range(s): if c.isupper(): c = c.lower() print(s) # ["A", "b", "C", "d"] for문을 이용해서 c로 s의 원소를 하나씩 복사해 넣는다. 즉, 주소(객체)가 전달된 것이 아니고 값만이 복사되어 전달된 것이므로, 이 방법으로는 값을 변경할 수 없다. 참고: https://hashcode.co.kr/que..
[부스트코스] [모두를 위한 파이썬] 예외처리(try, except) 파이썬 프로그램 실행 중에 Traceback이 발생하면 프로그램이 멈춘다. 이를 방지하기 위해서 try/except를 사용하자 try / except 구조 • 위험한 코드를 try/except 을 사용해 처리 • try 블록에 있는 코드가 성공하면 - except 블록을 건너뜀 • try 블록에 있는 코드가 실패하면 - except 블록을 실행 다음 코드를 실행하면 astr = 'Bob' try: print('Hello') istr = int(astr) print('There') except: istr = -1 print('Done', istr) print('There')는 실행되지 않는다. Hello Done -1 Process finished with exit code 0 따라서 try/except는..
[Python] set 자료형 remove() vs. discard() set 자료형에는 특정 element를 삭제하는 메소드로 remove()와 discard()가 있다. remove() remove는 삭제하려는 값이 set에 존재하지 않다면 오류를 발생시킨다. 예를 들어 remove()를 이용해서 10이라는 element를 두번 제거해보자 s = set() s.add(10) s.remove(10) s.remove(10) 첫번째 remove()는 예상대로 정상 동작하지만 두번째 remove()를 수행할 때는 다음과 같은 에러가 발생한다. Traceback (most recent call last): File "test.py", line 5, in s.remove(10) KeyError: 10 집합에 아무런 element도 없기 때문에 10이라는 element를 지우려고 할..
[부스트코스] [모두를 위한 파이썬] 변수, 표현식, 문장 상수(Constants) 상수는 값이 변하지 않습니다. print(123) #123으로 출력, 123이 상수 print(98.6) # 98.6으로 출력, 98.6이 상수 print('Hello World') # Hello World로 출력, Hello World가 상수 예약어(Reserved Words) 파이썬이 정한 의미로만 쓰이는 특별한 단어입니다. 예를 들어, 파이썬이 if라는 예약어를 만나게 되면 조건문을 실행하게 됩니다. 변수(Variables) 우리는 메모리에 사람이 이해 할 수 있는 변수명으로 원하는 데이터를 넣을 수 있는 공간을 확보 할 수 있습니다. x = 12.2 print(x) # 12.2가 출력됩니다. y = 14 x = 100 print(x) # 100이 출력됩니다. x, y : ..
[부스트코스] [모두를 위한 파이썬] 예약어, 순차문, 조건문 및 반복문 프로그래밍 방법 - 상호대화식, 스크립트식 하나의 프로그램을 위해서는 많은 수의 문장이 필요합니다. 커맨드라인에서 코드를 한줄씩 실행하는 방법은 상호대화식(Interactive) 이라고 합니다. 상호대화식 방법은 즉각적인 결과 확인에는 유리하지만 코드가 길어질 경우에는 스크립트 방식(여러줄을 한번에 작성하는 방식)이 훨씬 효과적입니다. 상호대화식 방법으로 작성 시 실수를 하게 된다면 다시 처음부터 작성해야 하는 상상하기 싫은 일이 발생합니다. 프로그램의 흐름 제어 크게 3가지 방법이 존재합니다. 1. 순차문 코드가 처음 줄부터 차례대로 실행되는 경우입니다. 짧고 단조로운 코드만 짤 수 있습니다. x = 2 print(x) # 2를 출력 x = x + 2 print(x) # 4를 출력 2. 조건문 어떤 조..
[Python] [정렬] list.sort()와 sorted()의 차이 sorted() 오름차순으로 정렬된 새로운 리스트를 반환한다. 원래 목록은 영향 받지 않는다. 리스트뿐만 아니라 반복 가능한 모든 작업에 적용할 수 있다. (ex. 문자열, 튜플, 딕셔너리, 제너레이터 등) s = [3, 1, 5, 4, 2] print(sorted(s)) # [1, 2, 3, 4, 5] print(s) # [3, 1, 5, 4, 2] list.sort() 해당 리스트를 오름차순으로 정렬한다. 리스트의 인덱스를 변경하고 None을 반환한다. 리스트에게만 정의되는 메소드이다. 리스트의 경우에는 list.sort()가 복사본을 만들 필요가 없으므로 sorted()보다 빠르다. s = [3, 1, 5, 4, 2] print(s.sort()) # None print(s) # [1, 2, 3, 4..
[Python] 문자 삭제 함수 strip 1. lstrip() 문자열에서 왼쪽에 있는 연속된 모든 공백을 삭제한다. l은 왼쪽(left)를 의미한다. >>> ' Python '.lstrip() 'Python ' 2. rstrip() 문자열에서 오른쪽에 있는 연속된 모든 공백을 삭제한다. r은 오른쪽(right)를 의미한다. >>> ' Python '.rstrip() ' Python' 3. strip() 문자열에서 양쪽에 있는 연속된 공백을 삭제한다. >>> ' Python '.strip() 'Python' 4. lstrip('삭제할문자들') 삭제할 문자들을 문자열 형태로 넣어주면 문자열 왼쪽에 있는 해당 문자를 삭제한다. >>> ', python.'.lstrip(',.') ' python.' 5. rstrip('삭제할문자들') 삭제할 문자들을 ..
[Python] 정규표현식 메타 문자 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. 문자 클래스 [ ] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 문자 클래스를 만드는 메타 문자인 [ ] 사이에는 어떤 문자도들어갈 수 있다. 예를 들어 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. "a" -> 정규식과 일치하는 문자인 "a"가 있으므로 매치 "before" -> 정규식과 일치하는 문자인 "b"가 있으므로 매치 "dude" -> 정규식과 일치하는 문자인 "a". "b", "c" 중 어느..