리스트list 관련 메서드
- append(item): 리스트의 끝에 요소를 추가합니다.
- extend(iterable): 리스트에 iterable(반복 가능한 객체)의 모든 요소를 추가합니다.
- insert(index, item): 리스트의 지정된 인덱스에 요소를 삽입합니다.
- remove(item): 리스트에서 첫 번째로 나오는 지정된 값의 요소를 제거합니다.
- pop(index=-1): 리스트에서 지정된 인덱스에 있는 요소를 제거하고 반환합니다. 인덱스를 지정하지 않으면 마지막 요소를 제거하고 반환합니다.
- clear(): 리스트의 모든 요소를 제거합니다.
- index(item, start=0, end=len(lst)): 리스트에서 지정된 값 item의 첫 번째 인덱스를 반환합니다.
- count(item): 리스트에서 지정된 값 item의 출현 횟수를 반환합니다.
- sort(key=None, reverse=False): 리스트의 요소를 정렬합니다. key는 정렬 기준을 지정하는 함수를 받습니다. reverse가 True면 내림차순으로 정렬합니다.
- reverse(): 리스트의 요소 순서를 뒤집습니다.
- copy(): 리스트의 얕은 복사본을 반환합니다.
그 외 리스트에 사용 가능한 ..
1) 인덱싱 indexing : 리스트의 특정 위치 = 인덱스 에 있는 요소에 접근하는 방법
인덱스는 0부터 시작, 맨 뒤 요소는 -1
my_list = [10, 20, 30, 40, 50]
print(my_list[0]) # 10
print(my_list(-1)] # 50
2)슬라이싱 slicing : 리스트의 일부분을 잘라내는 방법
list[start:end:step]
print(my_list[a:b] # 인덱스 a ~ b-1 까지 반환 a, b 생략 가능 (a부터 ~ 끝, 처음~ b-1까지)
print(my_list[::2]) # 2칸씩 건너뛰기 [10, 30, 50]
print(my_list[::-1]) # 리스트 역순 [50, 40, 30, 20, 10]
3) 반복 iteration : 각 요소에 차례로 접근하는 방법, 반복문 사용
for i in my_list:
print(i)
또는
for i, value in enumerate(my_list):
print(f"{i}, {value})
while 써도 가넝 ~
문자열string 클래스 메서드 ... 엄청나게 많은데 사람들은 이거 다 어케 알고 어ㅋㅔ 쓰는걸까?..ㅜ
1. split(sep, maxsplit) : 문자열을 구분자 sep 를 기준으로 분리하여 리스트로 반환
sentence = "Hello, world!"
words = sentence.split(',')
print(words) # 출력: ['Hello', ' world!']
2. strip(chars=None) : 문자열의 양쪽 끝에 지정된 문자 chars 를 제거
text = " hello "
clean_text = text.strip()
print(clean_text) # 출력: 'hello'
3. join(iterable) : 문자열 리스트나 튜플 등의 iterable 객체의 각 요소를 이어붙여 하나의 문자열로 만든다
words = ['Hello', 'world', '!']
joined_string = ' '.join(words)
print(joined_string) # 출력: 'Hello world !'
4. find(sub[, start[, end]]) : 부분 문자열 'sub'의 첫번째 등장 위치(인덱스)를 반환하며, 없으면 -1을 반환
sentence = "Hello, world!"
index = sentence.find('world')
print(index) # 출력: 7
- capitalize(): 문자열의 첫 글자를 대문자로 변환합니다.
- casefold(): 문자열을 소문자로 변환합니다. lower()와 비슷하지만 유니코드 문자열에서 더 많은 변환을 수행합니다.
- center(width, fillchar=' '): 문자열을 지정된 너비 width 안에 가운데 정렬하고 주어진 fillchar로 여백을 채웁니다.
- count(substring, start=0, end=len(string)): 문자열에서 부분 문자열 substring의 출현 횟수를 반환합니다.
- encode(encoding='utf-8', errors='strict'): 문자열을 지정된 인코딩 방식으로 인코딩합니다.
- endswith(suffix, start=0, end=len(string)): 문자열이 특정 접미사 suffix로 끝나는지 여부를 반환합니다.
- expandtabs(tabsize=8): 문자열 내의 탭(\t) 문자를 지정된 탭 크기 tabsize에 맞춰 공백으로 치환합니다.
- find(substring, start=0, end=len(string)): 문자열에서 부분 문자열 substring의 첫 번째 위치를 반환합니다.
- format(*args, **kwargs): 문자열의 포맷을 지정하여 문자열을 생성합니다.
- format_map(mapping): 문자열의 포맷을 지정하는데 사용할 매핑(mapping)을 적용하여 문자열을 생성합니다.
- index(substring, start=0, end=len(string)): 문자열에서 부분 문자열 substring의 첫 번째 위치를 반환합니다. find()와 유사하지만 부분 문자열이 없을 경우 ValueError를 발생시킵니다.
- isalnum(): 문자열이 알파벳 문자 또는 숫자로만 구성되어 있는지 여부를 반환합니다.
- isalpha(): 문자열이 알파벳 문자로만 구성되어 있는지 여부를 반환합니다.
- isascii(): 문자열이 ASCII 문자로만 구성되어 있는지 여부를 반환합니다.
- isdecimal(): 문자열이 10진수 숫자로만 구성되어 있는지 여부를 반환합니다.
- isdigit(): 문자열이 숫자로만 구성되어 있는지 여부를 반환합니다.
- isidentifier(): 문자열이 파이썬 식별자로 사용될 수 있는지 여부를 반환합니다.
- islower(): 문자열이 모든 알파벳 문자가 소문자인지 여부를 반환합니다.
- isnumeric(): 문자열이 수치 문자로만 구성되어 있는지 여부를 반환합니다.
- isprintable(): 문자열이 인쇄 가능한 문자로만 구성되어 있는지 여부를 반환합니다.
- isspace(): 문자열이 모든 문자가 공백 문자인지 여부를 반환합니다.
- istitle(): 문자열이 타이틀 케이스(각 단어의 첫 글자가 대문자이고 나머지는 소문자인 경우)로 구성되어 있는지 여부를 반환합니다. 예를 들어, "Hello World"는 타이틀 케이스로 구성되어 있으므로 True를 반환합니다.
- isupper(): 문자열이 모든 알파벳 문자가 대문자인지 여부를 반환합니다.
- join(iterable): iterable(반복 가능한 객체)의 각 요소를 문자열 사이에 구분자로 삽입하여 하나의 문자열로 연결합니다.
- ljust(width, fillchar=' '): 문자열을 왼쪽으로 정렬하고, 지정된 너비 width에 맞추기 위해 주어진 문자 fillchar로 남은 공간을 채웁니다.
- lower(): 문자열의 모든 알파벳 문자를 소문자로 변환합니다.
- lstrip(chars=None): 문자열의 왼쪽(시작 부분)에서 주어진 문자 chars를 제거합니다. 기본값은 공백입니다.
- maketrans(x, y=None, z=None, /): 변환 테이블을 생성합니다. translate() 메서드와 함께 사용하여 문자열의 문자를 다른 문자로 변환할 때 유용합니다.
- partition(sep): 문자열을 sep 기준으로 세 부분으로 나눕니다: sep 이전의 문자열, sep 자체, sep 이후의 문자열. sep이 문자열 내에 없을 경우에는 원본 문자열과 빈 문자열 두 개로 분할됩니다.
- removeprefix(prefix): 문자열이 지정된 접두사 prefix로 시작하는 경우, 해당 접두사를 제거한 문자열을 반환합니다. Python 3.9부터 추가된 메서드입니다.
- removesuffix(suffix): 문자열이 지정된 접미사 suffix로 끝나는 경우, 해당 접미사를 제거한 문자열을 반환합니다. Python 3.9부터 추가된 메서드입니다.
- replace(old, new, count=-1): 문자열에서 old 문자열을 new 문자열로 치환합니다. 기본적으로 모든 발생을 변경하지만 count를 사용하여 변경할 수 있는 수를 제한할 수 있습니다.
- rfind(sub, start=0, end=len(string)): 문자열에서 부분 문자열 sub의 마지막 발생을 찾아 해당 인덱스를 반환합니다. 발생하지 않으면 -1을 반환합니다.
- rindex(sub, start=0, end=len(string)): rfind()와 유사하지만 부분 문자열 sub의 마지막 발생을 찾지 못할 경우 ValueError를 발생시킵니다.
- rjust(width, fillchar=' '): 문자열을 오른쪽으로 정렬하고, 지정된 너비 width에 맞추기 위해 주어진 문자 fillchar로 남은 공간을 채웁니다.
- rpartition(sep): 문자열을 sep 기준으로 오른쪽에서 세 부분으로 나눕니다: sep 이전의 문자열, sep 자체, sep 이후의 문자열.
- rsplit(sep=None, maxsplit=-1): 문자열을 오른쪽에서부터 sep 기준으로 최대 maxsplit 번 분할하여 리스트로 반환합니다.
- rstrip(chars=None): 문자열의 오른쪽(끝 부분)에서 주어진 문자 chars를 제거합니다. 기본값은 공백입니다.
- split(sep=None, maxsplit=-1): 문자열을 sep 기준으로 최대 maxsplit 번 분할하여 리스트로 반환합니다.
- splitlines(keepends=False): 문자열을 라인별로 분할하여 각 라인을 리스트의 요소로 반환합니다.
- startswith(prefix, start=0, end=len(string)): 문자열이 지정된 접두사 prefix로 시작하는지 여부를 반환합니다.
- strip(chars=None): 문자열의 양쪽(시작과 끝 부분)에서 주어진 문자 chars를 제거합니다. 기본값은 공백입니다.
- swapcase(): 문자열의 대소문자를 반전시킵니다.
- title(): 문자열의 각 단어의 첫 글자를 대문자로 변환합니다.
- translate(table): maketrans() 메서드로 생성된 변환 테이블을 사용하여 문자열을 변환합니다.
- upper(): 문자열의 모든 알파벳 문자를 대문자로 변환합니다.
- zfill(width): 문자열의 왼쪽에 0을 채워서 지정된 너비 width에 맞춥니다.
샤라웃 투 지피티
+ str 의 메서드 조회하기
print(dir(str))
'__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__',
'__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'
이중 언더스코어('__') 로 둘러싸인 메서드들은 매직/스페셜 메서드라고 하며 직접 호출해서 사용하는 경우는 적다.
파이썬 인터프리터가 내부적으로 호출하거나, 특정 연산자나 내장 함수가 이들을 자동으로 호출하여 객체의 동작을 지정하는 데 사용
obj1 + obj2 연산은 obj1.__add__(obj2)로 자동 변환되어 MyClass의 인스턴스를 반환하는 방식으로 동작.
따라서 보통은 이러한 매직 메서드들을 직접 호출하지 않고, 연산자나 내장 함수를 통해 간접적으로 사용
'개발 공부 일지 > Python' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 day2 : 사칙연산, 조건문, 배열 (0) | 2024.06.21 |
---|---|
프로그래머스 코딩테스트 입문 day1 : 사칙연산 (0) | 2024.06.20 |
파이썬 내장함수 실습하기 (0) | 2024.06.20 |
자료구조와 알고리즘 with 파이썬 (독학 8일차) (0) | 2024.06.10 |
개발 공부 일지 : 파이썬 - 강의 복습 (독학 6일차) (0) | 2024.06.08 |