파이썬

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 튜플(tuple)

리스트(List)와 비슷한 컬렉션, 튜플(Tuple) 튜플은 리스트와 굉장히 비슷하다. 리스트와의 차이는 대괄호 대신 소괄호를 사용한다는 것 정도가 있다. 리스트와 같이 인덱스에 따른 순서가 있어 인덱스로 접근이 가능하고 최대값 또한 찾을 수 있다. x = ('Glenn', 'Sally', 'Joseph') print(x[2]) # Joseph y = ( 1, 9, 2 ) print(y) # (1, 9, 2) print(max(y)) # 9 하지만 튜플은 변경이 불가능하다. immutable, 즉 값을 변경할 수가 없다. 리스트에서는 값을 변경할 수 있다. x = [9, 8, 7] x[2] = 6 print(x) # [9, 8, 6] 하지만 튜플에서는 오류가 발생한다. 이는 immutable한 속성에서 ..

카테고리 없음

(파이썬) 딕셔너리 활용, 최다 단어 출력 프로그램

딕셔너리에 루프를 적용시키는 방법 counts라는 딕셔너리를 for 반복문에 넣고 다음과 같이 실행하면 아래와 같다. counts = { 'chuck' : 1 , 'fred' : 42, 'jan': 100} for a in counts: print(a, counts[a]) for문에서 a에는 딕셔너리의 키(key)가, counts[a] 에는 딕셔너리의 값(value)이 각각 저장되는 것을 볼 수 있다. 이를 활용해 딕셔너리의 키와 값을 별도로 저장할 수 있다. 먼저 딕셔너리를 리스트로 변환하면 키로만 이루어진 리스트를 얻어낼 수 있다. jjj = { 'chuck' : 1 , 'fred' : 42, 'jan': 100} print(list(jjj)) # ['jan', 'chuck', 'fred'] 이는 딕..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 딕셔너리를 이용한 리스트 카운팅

어느 리스트에 사람 성씨가 있고 그 성씨를 카운트하는 일을 한다고 가정해보자. 반복적인 일을 해야하니 반복문이 들어갈 것이고 카운팅을 한다는 조건이 있으니 조건문이 들어갈 것이다. counts = dict() names = ['김', '이', '박', '이', '최', '박', '제갈', '김', '이', '박'] for name in names : if name in counts: counts[name] = counts[name] + 1 else : counts[name] = 1 print(counts) # {'김': 2, '이': 3, '박': 3, '최': 1, '제갈': 1} 이것의 동작 방식은 아래와 같다. names 리스트를 하나씩 순회하면서 counts 딕셔너리와 리스트의 이름들을 하나씩 비..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 딕셔너리(Dictionary)

딕셔너리도 리스트와 마찬가지로 컬렉션이며, 하나의 변수에 여러개의 정보를 저장할 때 사용한다. 리스트는 순서대로 정리된 컬렉션이며, 데이터를 추가하면 항상 리스트 끝에 추가가 된다. 하지만 딕셔너리에는 순서가 없다. 대신 키(Key)라는 것이 존재한다. 포스트잇이 Key 물건이 value 라면 Key : value 식으로 항상 붙어다닌다. 비유하자면 리스트는 감자칩이 잘 정돈되어 보관된 프링글스와 같으며 딕셔너리는 마구마구 뒤섞여있는 스윙칩 봉지라고 할 수 있겠다. 딕셔너리 생성 변수 = dict() 또는 변수 = { } 처럼 생성할 수 있다. bag = dict() # 또는 bag = {} bag['apples'] = 12 # apples라는 키에 12 연결 bag['coconut'] = 1 # coc..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 문자열과 리스트를 활용한 값 추출하기

문자열과 리스트는 잘 어울려 사용된다. 이는 내장함수 .split() 의 역할이 크다 split() split() 함수는 해당 문자열을 쪼개서 리스트로 정리해준다. abc = 'With three words' stuff = abc.split() print(stuff) # ['With', 'three', 'words'] 로 출력된다. split 함수는 sep, maxsplit 2개의 파라미터 인자가 있다. sep은 어떠한 값을 기준으로 분할할 것이냐? 이고 maxsplit은 분할을 몇번할 것이냐? 이다. 아래 코드는 sep = 공백을 기준으로 1번만 분할하겠다는 의미이다. abc = 'With three words' stuff = abc.split(sep=" ", maxsplit=1) print(stuff..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 리스트(List)

https://docs.python.org/3/tutorial/datastructures.html 5. Data Structures — Python 3.10.4 documentation 5. Data Structures This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists The list data type has some more methods. Here are all of the methods of list objects: list.append(x) docs.python.org 리스트는 자료구조이다. 자료구조는 컴퓨터 내..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 문자열 타입 내장 메소드

문자열 슬라이싱 파이썬에서는 슬라이스(slice)라는 기능을 제공하는데, 가져오고 싶은 문자열의 범위를 지정하면 된다. (slice는 '자르다', '일부', '한 조각' 등의 의미가 있다. 대괄호 안에 콜론으로 인덱스를 구분하는 것으로 정의한다. 문자열변수[ : ] ex) str[5:10] str = 'String in Python' # 인덱스는 0부터 시작한다. print(str) # 출력 : String in Python # str 변수를 출력했다. # str은 문자열 String in Python을 값으로 지닌다. print(str[0:4]) # 출력 : Stri # 인덱스 0에 속한 S부터 출력되고 # 인덱스 3(4-1)에 해당하는 i까지 출력된다. print(str[5:99]) # 출력 : g ..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 문자열

파이썬의 내장 함수 중 input()을 굉장히 많이 쓴다. input은 문자열을 반환하는데 이 점을 명확히 알고 있어야 각종 에러를 피할 수 있다. 문자열에 대해 더 공부해보자. input()은 문자열(str)을 반환한다. name = input('Enter: ') a = type(name) print(a) print(name) 특히 숫자를 입력해도 문자열을 반환한다. 그래서 적절한 타입 변환을 해주어야 한다. 문자열은 개별 문자 값에 인덱스를 가지고 있다. fruit = 'banana' letter = fruit[0] print(letter) letter = fruit[1] print(letter) letter = fruit[2] print(letter) letter = fruit[3] print(le..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) for 루프

파이썬에서는 유한개의 항목들에 대해 특정 조치를 취하고 싶을때 for 루프를 사용한다. 리스트안의 항목들의 수나 파일에 들어있는 문장의 갯수는 유한개라고 할 수 있다. for i in [5,4,3,2,1] : print(i) print('Blastoff!') # 5 # 4 # 3 # 2 # 1 # Blastoff! 여기서 i는 루프 하나가 돌 때마다 증가하는 값이 되고 in 뒤의 [ ] 은 콤마로 구별된 인자 하나하나를 의미한다. 집합 개념의 요소들과 비슷하다고 생각하면 된다. 한 루프가 돌때마다 i는 다음 값을 찾아 for문 body를 실행한다. 문자열 리스트에서도 동일한 방식으로 출력할 수 있다. friends = ['Connect', 'Korea', 'NHN'] for friend in friend..

했던것들/PY4E(모두를 위한 파이썬)

(파이썬) 함수 정의, 호출 (인자, 매개변수, 반환값)

함수 정의 함수를 만드는 과정에서 가장 중요한 것은 저장과 호출에 대한 이해이다. 앞서 살펴본 것 처럼 함수를 저장하기 위해서는 def 라는 예약어를 사용한다. def sayHello(): print('hello') : (콜론) 뒤에 실행하고자 하는 코드를 입력하는 것 만으로는 함수는 실행되지 않는다. def 에 작성된 것은 단순히 함수를 정의하는 단계이다. 작성한 함수를 실행하려면 함수를 호출해야 한다. 함수 호출 def sayHello(): print('hello') sayHello() # hello 출력 정의한 함수의 이름으로 인자를 호출하면 함수가 출력된다. 다만 위의 함수는 아무 인자가 없다. 그냥 부르면 호출되는 무식한 함수이다. 인자(Argument) 인자는 함수를 호출할 때 전달하는 값을 ..

2DC
'파이썬' 태그의 글 목록