본문 바로가기

Language/Python

(15)
<파이썬> 문자열과 메서드 1. isdigit isalpha isalnum * isdigit x = "100" y = "won" z = "100won" for i in (x, y, z): answer = i.isdigit() print(f'{i} : {answer}') # 100 : True # won : False # 100won : False - isdigit함수는 문자열이 숫자로만 구성되어 있는지 불린값을 반환한다. - isdigit메서드에서 주의해야 할 점은 int자료형에서도 True를 반환할 것 같지만 문자열 메서드이므로 에러를 반환한다. * isalpha x = "100" y = "won" z = "100won" for i in (x, y, z): answer = i.isalpha() print(f'{i} : {answ..
<파이썬> 2차원 배열 정렬 1. 기본적인 리스트 정렬 * sort 정렬 - sort는 리스트에서 제공되는 기본적인 메서드이다. 주로 아래와 같이 사용한다. lst = [2, 3, 5, 6, 1, 4] lst.sort() print(lst) # [1, 2, 3, 4, 5, 6] - sort 는 기본적으로 오름차순 정렬이다. 인자로 key, reverse를 넣어서 변형이 가능하다. lst = [2, 3, 5, 6, 1, 4] lst.sort(reverse=True) print(lst) # [6, 5, 4, 3, 2, 1] - 위는 reverse를 True로 하여 내림차순 정렬을 시행한 것이다. * key 사용하기 - 이번에는 key를 사용해보자. key는 함수의 결과에 따라 정렬을 할 수 있다. lst = ["one", "two", ..
<파이썬> 리스트 컴프리헨션 * 소개 - 기존에 리스트의 원소를 반복작업으로 추가할 때 for문을 사용해서 하나하나 추가했으나, 최근에 문제를 풀며 리스트 컴프리헨션의 필요성을 느꼈다. 반복되는 원소를 넣을 때 리스트 컴프리헨션을 사용하면 한 줄만에 리스트를 초기화 및 제작할 수 있다. - 리스트 컴프리헨션은 쉽게 말해서 [](대괄호) 안에 반복문을 넣어서 쉽게 원소들을 넣는 것을 일컫는다. 추가적으로 조건문도 사용할 수 있다. array = [i for i in range(5)] print(array) # [0, 1, 2, 3, 4] - 기본적으로 위와 같이 사용한다. 가장 앞의 i는 ',' 를 붙여가며 넣을 원소를 의미한다. - 뒤의 반복문은 원소를 어떤식으로 바꿔가며 넣을지를 의미한다. - 가장 쉽게 쓰는 방법은 일단 대괄호를..
<파이썬 기초> 12. 정규식 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 정규식은 문자를 좀 더 다채롭게 다루게해준다. 예를 들면 마치 주민번호와 같다. 경찰이 익명의 거대한 기부자를 찾는다고 치자. 그 기부자가 99년생 남성이다. 그렇다면 주민번호를 어떻게 조회할까? 마구잡이로 할 필요가 있을까? 아닐 것이다. 99****-1****** 이런식의 번호만 찾으면 되는 것이다. 이와 같은 역할을 하는 것이 정규식이다. 예시를 보기위해 앞서 사용했던 텍스트 파일을 이용하자. 정규식을 사용하기 위해서는 가장먼저 regular expression 모듈을 import해주어야 한다. import re hand = open('practice.txt') for li..
<파이썬 기초> 11. 튜플 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 튜플은 리스트처럼 순서가 있어서 인덱스로 접근이 가능하다. max함수를 통해 최댓값을 쉽게 찾을 수도 있고 반복문도 사용하고 여러모로 편리하다. 그러나 리스트와 달리 변경이 불가능하다는 단점이 있다. 하지만 튜플은 변수를 여러 개 할당가능하다는 점에서 엄청나게 편리한 기능이고, 파이썬에서는 굳이 소괄호를 쓰지 않아도 튜플로 자동으로 인식한다. x, y = 1, 10 print(x, y) # 1 10 x와 y에 쉽게 값을 할당했음을 볼 수 있다. 튜플은 map함수와도 자주 어울린다. x, y = map(int, input('number : ').split()) print(x+y) ..
<파이썬 기초> 10. 딕셔너리 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 파이썬에는 앞서 배웠던 리스트와 비슷하게 딕셔너리가 존재한다. 차이점이라면 순서가 따로 없지만 키(Key)가 존재한다는 것이다. 키의 존재로 파이썬이 엄청난 강점을 갖게 된다. 키가 존재함으로써 값을 찾아낼 때 더 빠르고 더 적은용량으로 가능하게 한다고 한다. X = dict() X['AA'] = 10 X['BB'] = 30 X['CC'] = 70 print(X) print(X['AA']) X['BB'] = X['BB'] + 5 print(X) # {'AA': 10, 'BB': 30, 'CC': 70} # 10 # {'AA': 10, 'BB': 35, 'CC': 70} 먼저 di..
<파이썬 기초> 09. 리스트 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 파이썬에서는 변수에 리스트를 할당할 수 있다. x = ['AA', 'BB', 'CC'] print(x[0]) print(len(x)) # AA # 3 위는 변수 x 에 AA BB CC 를 갖고있는 리스트를 할당시켰다. 인덱스를 이용하여 첫번째에 해당하는 문자를 출력하였다. 그리고 len함수를 통해 길이를 측정하였다. len은 일반 문자에 사용하면 문자의 길이를 나타내지만 리스트에 사용하면 리스트에 존재하는 문자의 갯수를 출력한다. 바꿔 말하면 리스트에 존재하는 항목의 갯수 자체가 리스트의 길이이다. 위를 보면 알 수 있겠지만 참고로 + 연산자로 리스트를 병합할 수도 있고, : (..
<파이썬 기초> 08. 파일 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 우리는 파이썬으로 파일을 읽거나 쓸 수 있다. 파일은 다음과 같은 방식으로 먼저 파이썬으로 불러들일 수 있다. X = open('practice.txt,'r') 위는 X라는 변수에 practice 텍스트 파일을 읽기위해 할당하였다는 뜻이다. 'r'대신 'w'를 사용하면 파일을 쓴다는 의미이다. 참고로 우리가 연습해 볼 텍스트파일은 아래와 같다. 이를 활용하여 파이썬으로 텍스트를 출력해보자. fhand = open(r'C:\Users\Desktop\practice.txt','r') for line in fhand : print(line,end='') # Hi! # I'm harry..
<파이썬 기초> 07. 문자열 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 우리는 파이썬을 통해 문자열을 쉽게 다룰 수 있다. 먼저 예시를 통해 알아보자. 아래는 문자열의 길이만큼 루프를 실행하는 코드를 작성한 것이다. fruit = 'banana' index = 0 while index < len(fruit) : # len()함수로 fruit 변수의 문자열 길이를 측정 letter = fruit[index] # []숫자의 인덱스를 가진 문자 출력 0이 첫 번째임 print(index, letter) index = index + 1 # index에 1을 더함으로써 다음 반복을 다룸 # 0 b # 1 a # 2 n # 3 a # 4 n # 5 a 이번에는..
<파이썬 기초> 06. 루프와 반복문 이 글은 미시건 주립대학교 찰스 교수의 MOOC강의인 Python for Everybody를 수강하고 정리하며 쓰는 글입니다. 우리는 파이썬에서 루프와 반복문을 통해 반복되는 작업을 빠르고 간단하게 작성할 수 있다. x = 10 while True : # True에서 루프 반복, False에서 루프 끝 if x > 5 : x = x - 1 continue # 루프의 시작으로 if x == 5 : break # 루프에서 나가기 print('Done x :', x) # Done x : 5 위는 While 루프이다. While 뒤에 조건을 쓸 수도 있지만 위는 True 값을 바로 썼다. 단순히 True만 반복되면 무한루프가 형성될 수 있다. 이는 우리가 흔히 보는 마우스의 원이 끝없이 뱅글뱅글 도는 것과 같다..