Seung's Learning Record

[Python] 리스트 본문

프로그래밍/Python

[Python] 리스트

70_0ewd 2024. 3. 28. 18:09

 

 

목차

 

     리스트   

     

    파이썬에는 다른 언어들에서 다뤄지는 배열과 유사한 성질의 리스트(list)라는 자료구조가 존재한다.  동일한 자료형만 가질 수 있는 배열과는 달리, 리스트는 다양한 자료형을 하나의 리스트 안에 담을 수 있다.

    선언 방법

    a = [1,2,'a','b',"xyz"]
    b = []
    c = list()
    d = [0]*10 		#[0,0,0,0,0,0,0,0,0,0]
    e = [i*2 for i in range(5)] 	#[0,2,4,6,8]

    리스트는 위와 같은 다양한 방법을 통해 선언이 가능하다.

    연산 

    a = [1,2,3]
    b = ['a','b','c']
    c = a+b 	#[1,2,3,'a','b','c']
    d = a*3 	#[1,2,3,1,2,3,1,2,3]
    e = a*0 	#[]

    이처럼 리스트 사이의 덧셈이 가능하며, 곱셈 연산 역시 가능하다. 0을 곱하며 빈 리스트가 생성됨을 유의하자.

    인덱싱

    a = [1,2,3,4,5,6,7,8,9,10]
    
    #값 접근
    a[0] 	#1
    a[-1] 	#10
    a[1:4] 	#[2,3,4]
    a[:3] 	#[1,2,3]
    a[5:] 	#[6,7,8,9,10]
    a[:] 	#[1,2,3,4,5,6,7,8,9,10]
    
    #값 수정
    a[2]=50

    리스트의 값 접근 방법은 배열과 동일하다. 
    인덱스 슬라이싱을 할 땐 [시작 인덱스, 종료 인덱스+1]임을 꼭 기억하자.
    슬라이싱을 할 때도 음수 인덱스를 적을 수 있다.

    • 메서드
    a = [1,2,3,4,5,5,6]
    b = [10,20]
    
    #길이
    len(a) 	# 7
    
    #값 삭제
    del(a[1]) 		# a=[1,3,4,5,5,6]
    del(a[0:2]) 		# a=[4,5,5,6]
    a.remove(5)  		# a=[4,5,6]	
    a.pop() 	 	# a=[4,5], 6반환
    
    #값 추가
    a.append('a') 		# a=[4,5,'a']
    a.insert(2,'x') 	# a=[4,5,'x','a']
    
    #리스트 연결
    a.extend(b) 		# a=[4,5,'x','a',10,20]
    
    #리스트 뒤집기
    a.reverse() 		# a=[20,10,'a','x',5,4]
    
    #값 위치 반환
    a.index(10) 		# 1
    
    #모든 값 삭제
    a.clear() 		# a=[]

    리스트의 연결 메서드인 extend와 + 연산의 차이는 새로운 리스트의 생성여부라고 보면 된다. extend의 경우 a 자체에 다른 리스트가 붙는 것이고, +의 경우 새로운 리스트가 새로 생성되게 된다.