1. 문자열
변경할 수 없고(immutable), 순서가 있고(ordered), 순회 가능한(iterable)
매서드 | 출력 |
---|---|
.find(x) | x의 위치를 반환, 없으면 -1 |
.index(x) | x의 위치를 반환, 없으면 오류 |
.replace(old, new[, count]) | old를 new로 변경( 해당하는 갯수만큼) |
.strip([chars]) | 특정한 문자들을 지정하면, 양쪽을 제거하거나 왼쪽을 제거하거나(lstrip), 오른쪽을 제거합니다(rstrip).지정하지 않으면 공백을 제거합니다. |
.split() | 문자열을 특정한 단위로 나누어 리스트로 반환합니다. 디폴트는 공백 |
‘separator’.join(iterable) | iterable 요소들을 separator를 구분자로 합쳐 문자열로 반환합니다. |
.capitalize() | 맨 앞만 대문자로 |
.title() | 띄어쓰기 기준 단어의 첫글자만 대문자로 |
.upper() | 모두 대문자로 |
.lower() | 모두 소문자로 |
.swapcase() | 대소문자 바꿔 |
.isalpha(), .isdecimal(), .isdigit(), .isnumeric(), .isspace(), .isupper(), .istitle(), .islower()
2. 리스트
변경 가능하고(mutable), 순서가 있고(ordered), 순회 가능한(iterable)
매서드 | 출력 |
---|---|
.append(‘twosome’) | 리스트에 원소 추가 |
.extend([‘빽다방’, ‘공차’]) | 리스트에 여러개 원소 추가 |
.insert(1,‘hi’) | 1 위치에 해당 원소 추가, 맨뒤에 넣을거면 len, len 넘으면 자동으로 맨뒤로 감 |
.remove(1) | 1 제거, 삭제할 값이 없으면 오류 |
.pop(1) | 1위치의 값 제거, 디폴트는 맨 마지막 원소 제거, 제거된 원소를 리턴으로 가짐 |
.clear() | 모든 항목을 제거 |
.index(2) | 해당 값의 인덱스를 반환 |
.count(1) | 해당 값의 갯수를 반환 |
.sort() | 오름차순 정렬. 내림차순은 .sort(reverse = Ture) |
.reverse() | 순서를 반대로(정렬아님) |
2.1 List Comprehension
리스트를 간단하게 생성가능, 초기값 지정할 때 사용
[number**3 for number in numbers]
[number for number in range(0, 11, 2)]
# 조건표현식도 가능
[-i if i % 2 else i for i in range(1, 11)]
# 이중 for문도 가능
[(boy, girl) for boy in boys for girl in girls]
# 다중 포문과 조건문도 가능
[(x, y, z) for x in range(1,50) for y in range(x,50) for z in range(y,50) if x**2 + y**2 == z**2 ]
3. 데이터 구조에 적용가능한 Built-in Function
순회 가능한(iterable) 데이터 구조에 적용가능한 Built-in Function
iterable 타입 - list, dict, set, str, bytes, tuple, range
map()
filter()
zip()
3.1 map()
- 순회가능한 데이터 구조(iterable)의 모든 요소에 function을 적용한 후 그 결과를 돌려준다.
- return은
map_object
형태이다.
# 함수의 인풋 받을 때 변환용도로 많이 쓰임
numbers = [1, 2, 3]
new_numbers = ''.join(list(map(str,numbers)))
print(new_numbers) # => '123'
a = '3 5'
map_a = map(int, a.split())
print(list(map_a)) # => [3, 5]
3.2 filter(function, iterable)
- iterable에서 function의 반환된 결과가
True
인 것들만 구성하여 반환한다. filter object
를 반환한다.
def odd(n):
return n % 2
numbers = [1, 2, 3]
new_numbers = list(filter(odd, numbers))
print(new_numbers) # => [1, 3]
3.3 zip(*iterables)
- 복수의 iterable 객체를 모아(
zip()
)준다. - 결과는 튜플의 모음으로 구성된
zip object
를 반환한다.
girls = ['jane', 'ashley', 'mary']
boys = ['justin', 'eric', 'david']
pair = list(zip(girls, boys))
print(pair) # => [('jane', 'justin'), ('ashley', 'eric'), ('mary', 'david')]
4. 세트(Set)
변경 가능하고(mutable), 순서가 없고(unordered), 순회 가능한(iterable)
매서드 | 출력 |
---|---|
.add(‘복숭아’) | 세트에 원소 추가 |
.update((‘복숭아’, ‘딸기’)) | 세트에 여러개 원소 추가 |
.remove(‘사과’) | 원소제거, 없는 원소일 경우 오류 |
.discard(‘딸기’) | 원소제거, 없는 원소여도 오류안남 |
.pop() | 랜덤한 값 제거 및 반환 |
5. 딕셔너리(Dictionary)
변경 가능하고(mutable), 순서가 없고(unordered), 순회 가능한(iterable)Key: Value 페어(pair)의 자료구조
매서드 | 출력 |
---|---|
my_dict[‘pineapple’] | 해당 키에 맞는 벨류 반환 없으면 오류 |
my_dict.get(‘pineapple’) | 해당 키에 맞는 벨류 반환 없어도 오류 안남, 오류날 경우 디폴트값 지정 가능 my_dict.get(‘pineapple’,0) |
.pop(key[, default]) | 키가 딕셔너리에 있으면 제거하고, 값 반환 / 없으면 디폴트 값 반환, 디폴트 없으면 오류! |
.update({‘peach’ : ‘복숭아’}) | 딕셔너리 값 추가, 동일한 키값이 있으면 덮어씀 |
5.1 Dictionary comprehension
a = [1, 2, 3]
{str(n) : n for n in a} # => {'1': 1, '2': 2, '3': 3}
blood_types = {'A': 40, 'B': 11, 'AB': 4, 'O': 45}
negative_blood_types = {'-' + key: value for key, value in blood_types.items()}
'Python' 카테고리의 다른 글
Python_07_OOP (0) | 2021.04.13 |
---|---|
Python_06_모듈&패키지 (0) | 2021.04.09 |
Python_04_예외처리 (0) | 2021.04.06 |
Python_03_함수 (0) | 2021.04.05 |
Python_02_제어문 (0) | 2021.04.04 |