매일 매일 미라클 코딩

유용한 파이썬 문법 - 자료구조형 Data Type(리스트) 본문

알고리즘/PYTHON

유용한 파이썬 문법 - 자료구조형 Data Type(리스트)

뚜벅-뚜벅 2021. 4. 22. 14:41

파이썬 문법이 쉽다고들 하지만, 오히려 너무 쉬워서 '이게 돼?' 싶은 마음에 막상 활용해야할 순간에 떠오르지 않곤 한다. (알고리즘 공부에 대한 현타가 오긴하지만) 외워 놓으면 작업시간을 많이 단축할 수 있는 자료구조형 데이터타입과 사용 가능한 함수를 정리해본다. 

 

리스트 : 순서가 있는 리스트 자료구조 (삽입/삭제가 가능하다.)

 

1) 문자열 연결하기

c=["Life","is","too","short"]
print(c)
print("-".join(c)) #문자열 연결자 지정 (int일때도 적용 가능하다)
# 결과: 
#['Life', 'is', 'too', 'short']
#Life-is-too-short

a=[1,2,3]
b=[3,4,5,6]
c= a+b  
print(c)	# 결과:[1, 2, 3, 3, 4, 5, 6]
print(a*3)	# 결과:[1, 2, 3, 1, 2, 3, 1, 2, 3]

a[2]=10 #값바꾸기
print(a) 	# 결과: [1, 2, 10]
a.append(4) #값 더하기도 간단
print(a)	# 결과: [1, 2, 10, 4]

 

2) 정렬 (최고 유용함)

a= [1, 2, 10, 4]
a.sort() #정렬
print(a)
a.reverse() #역정렬
print(a)
a.insert(1,6) #인덱스 1의 자리에 6을 삽입해라
print(a)

sort 와 reverse 도 코테에서 자주 쓰인다.

주의할 점은 두 함수 모두 배열 a 내부를 정렬할 뿐 반환값이 없다.

b = a.reverse() 같은 코드를 실행하면 null 값을 보게 될 것이다. 다른 값에 대입하고 싶다면

b = reversed(a) 혹은 b = sorted(a) 등 과거분사형(?) 함수를 써주면 해결 

 

 

3) 삭제

a = [1,2,3,4]
del a[2] # 인덱스 2번 삭제
print(a) # 결과 : [1,2,4]

삭제 한 값을 return 받고 싶을 땐 pop() 을 사용한다. 코테에서 자주 사용하는 함수.

b = a.pop()      #배열의 맨 끝 값을 삭제하고 반환  (b = 4, a = [1, 2, 3])

c = a.pop(0)     #배열의 0번 인덱스 값을 삭제하고 반환 (c = 1, a = [2, 3])