[Python] List 2

yuuforest·2023년 6월 27일
0

Python 문법

목록 보기
8/17
post-thumbnail

정렬, 원소 포함 여부, 인덱싱


🍯 정렬


sort는 반환값이 없지만, sorted는 반환값이 있음

✔️ sort

N = [3, 5, 2, 1, 7, 8]

N.sort()

>> [1, 2, 3, 5, 7, 8]
N = ["e","d", "c", "b", "a"]

N.sort()

>> ['a', 'b', 'c', 'd', 'e']
N = [5, "d", "c", 2, "a", 1]

N.sort()	# 타입이 섞여있을 경우 정렬 불가능

>> TypeError: '<' not supported between instances of 'str' and 'int'   

reversed=True를 통해 내림차순(DES)으로 정렬

N = [3, 5, 2, 1, 7, 8]

N.sort(reverse=True)

>> [8, 7, 5, 3, 2, 1]

✔️ sorted

N = [3, 5, 2, 1, 7, 8]

M = sorted(N)			

>> N =  [3, 5, 2, 1, 7, 8]
>> M =  [1, 2, 3, 5, 7, 8]

reversed=True를 통해 내림차순(DES)으로 정렬

N = [3, 5, 2, 1, 7, 8]

M = sorted(N, reverse=True)		

>> N =  [3, 5, 2, 1, 7, 8]
>> M =  [8, 7, 5, 3, 2, 1]

✔️ 튜플

튜플의 맨 앞 원소를 기준으로 정렬

N = [(2, 4, 5), (1, 6, 2), (8, 3, 4), (4, 6, 2), (5, 9, 4)]

N.sort()        # 맨 앞이 아닌 다른 원소로 판단하고 싶다면 lambda 사용

>> [(1, 6, 2), (2, 4, 5), (4, 6, 2), (5, 9, 4), (8, 3, 4)]
M = sorted(N)

>> [(1, 6, 2), (2, 4, 5), (4, 6, 2), (5, 9, 4), (8, 3, 4)]

맨 앞이 아닌 다른 원소로 판단하고 싶다면 lambda 사용

N.sort(key=lambda x: x[2]) 				# x[2]를 기준으로 정렬

>> [(1, 6, 2), (4, 6, 2), (8, 3, 4), (5, 9, 4), (2, 4, 5)]
N.sort(key=lambda x: (x[2], x[0])) 		# x[2] 다음 x[0]을 기준으로 비교

>> [(1, 6, 2), (4, 6, 2), (5, 9, 4), (8, 3, 4), (2, 4, 5)]

🍯 원소 포함 여부


✔️ in

N = [1, 2, "a", 3, "b"]

print("a" in N)

>> True

print(5 in N)

>> False

✔️ not in

N = [1, 2, "a", 3, "b"]

print("a" not in N)

>> False

print(5 not in N)

>> True

✔️ not

N = []				# 비어있는 리스트

print(not N)

>> True
N = [1, 2, 3]		# 비어있지 않은 리스트

print(not N)

>> False

🍯 인덱싱


✔️ 양수

N = [1, 2, "a", 3, "b", 4]

print(N[2])

>> a

print(N[9])		# 리스트 크기를 초과한 인덱싱은 IndexError

>> IndexError: list index out of range

✔️ 음수

N = [1, 2, "a", 3, "b", 4]

print(N[-1])

>> 4

print(N[-6])

>> 1

print(N[-13])	# 리스트 크기를 초과한 인덱싱은 IndexError

>> IndexError: list index out of range
profile
🐥 Backend Developer 🐥

0개의 댓글