자주 찾는 파이썬 함수

koyo·2020년 10월 8일
0

프로그래밍 언어

목록 보기
11/12
post-thumbnail

정렬

리스트 자료형의 sort(reverse=False) : 반환없이 리스트 자체가 정렬된다.

sorted(iterable, *, key=None, reverse=False) : iterable 의 항목들로 새 정렬된 리스트를 돌려준다.

key 는 하나의 인자를 받는 함수를 지정하는데, iterable의 각 요소들로부터 비교 키를 추출하는 데 사용된다.(예를 들어, key = str.lower). 기본값은 None 이다.
lambda도 사용가능!

람다표현식

lambda는 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 한다. 보통 함수를 한줄로 간결하게 만들 때 사용한다. 우리말로는 "람다"라고 읽고 def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다.

lambda 인자 : 표현식

>>> (lambda x,y: x + y)(10, 20)
30

리스트

List.index('찾고자 하는 데이터') : 가장 작은 인덱스 반환
찾고자 하는 문자열이 없으면 ValueError를 반환

주의!
rindex는 지원하지 않는다.
find는 없다.
tuple도 지원한다.

>>> [1, 2, 3].index(3)
2
>>> [1, 2, 3].index(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 5 is not in list
메서드명사용법설명시간 복잡도
append()변수명.append()리스트에 원소를 하나 삽입할 때 사용한다.O(1)
sort()변수명.sort(reverse=True)오름차순으로 정렬, reverse는 내림차순, 반환은 NoneO(NlogN)
reverse()변수명.reverse()리스트의 원소의 순서를 모두 뒤집어 놓는다.O(N)
insert()insert(삽입할 인덱스, 삽입할 값)특정한 인덱스 위치에 원소를 삽입할 때 사용한다.O(N)
count()변수명.count(특정 값)리스트에서 특정한 값을 가지는 데이터의 개수 셈O(N)
remove()변수명.remove(특정 값)특정한 값을 갖는 원소를 제거, 여러 개면 하나만 제거O(N)
a = [1, 4, 3]
print("기본 리스트: ", a) # 기본리스트 : [1, 4, 3]

# 리스트에 원소 삽입
a.append(2)
print("삽입: ", a) # 삽입 : [1, 4, 3, 2]

# 오름차순 정렬
a.sort()
print("오름차순 정렬: ", a) # 오름차순 정렬 : [1, 2, 3, 4]

# 내림차순 정렬
a.sort(reverse = True)
print("내림차순 정렬: ", a) # 내림차순 정렬: [4, 3, 2, 1]

# 리스트 원소 뒤집기
a.reverse()
print("원소 뒤집기: ", a) # 원소 뒤집기: [1, 2, 3, 4]

# 특정 인덱스에 데이터 추가 
a.insert(2, 3)
print("인덱스 2에 3 추가: ", a) # 인덱스 2에 3 추가 [1, 2, 3, 3, 4]

# 특정 값인 데이터 개수 세기
print("값이 3인 데이터 개수: ", a.count(3)) # 값이 3인 데이터 개수: 2

# 특정 값 데이터 삭제
a.remove(1)
print("값이 1인 데이터 삭제", a) # 값이 1인 데이터 삭제: [2, 3, 3, 4]

문자열

str.find('찾고자 하는 문자열') : 가장 작은 인덱스 반환
str.rfind('찾고자 하는 문자열') : 가장 큰 인덱스 반환(시작 인덱스 반환)
찾고자 하는 문자열이 없으면 -1를 반환

>>> "Python".find("yt")
1
>>> "Python".find("yy")
-1

>>> "PyPyPyPy".rfind("Py")
6
>>> "PyPyPyPy".rfind("yy")
-1

str.index('찾고자 하는 문자열')
str.rindex('찾고자하는 문자열')
찾고자 하는 문자열이 없으면 ValueError를 반환

>>> "Python".index("yt")
1
>>> "Python".index("yy")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

>>> "PyPyPyPy".rindex("Py")
6
>>> "PyPyPyPy".rindex("yy")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
profile
클라우드 개발자가 될 코요입니다.

0개의 댓글