리스트 자료형의 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는 내림차순, 반환은 None | O(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