자기계발/Python

[Python] 기본7. 리스트와 for()반복문

호등 2022. 2. 27. 18:37
반응형

리스트

여러가지 자료를 저장할 수 있는 자료이다.
대괄호 [ ] 내부에 여러 종류의 자료를 넣어 선언한다.
array = [ 123, 456, "문자열" , True, False ]
대괄호 내부에 있는 자료들(123, 456, 문자열, True, False)은 요소(element)라고 부른다.

리스트 선언하고 요소에 접근하기

array_a = [123, 456, "문자열", True, False] print(array_a[0]) #출력 결과 : 123 print(array_a[2]) #출력 결과 : 문자열 print(array_a[3]) #출력 결과 : True

대괄호[ ] 안에 들어간 숫자는 인덱스라고 부른다.
이전에 인덱스 공부했었던 것 처럼 대괄호[ ]안에 숫자 넣어서 리스트의 요소에 접근이 가능하다.
( 당연히 슬라이싱 [1:3] 이런것도 사용 가능 )


인덱스 공부했을때 다 했던 것이지만 다시 작성해보자면,

array_b = [123, 456, "문자열", ["C","자바","파이썬"], True, False] #1 print(array_b[-1]) #출력결과 : False #2 print(array_b[2][0]) #출력결과 : 문 #3 print(array_b[3][2]) #출력결과 : 파이썬

1. 대괄호 안에 음수 넣어서 뒤에서부터 요소 선택한 경우
2. 리스트 접근 연산자를 이중으로 사용한 경우.
3. 리스트 안에 리스트 사용한 경우

이다.
(리스트 안에 문자열 넣을때 따옴표 아무거나 써서 감싸는거 주의!)


리스트와 연산자 : 연결(+), 반복(*), len()

list_a = [1,2,3] list_b = [4,5,6] #연결하기 print(list_a + list_b) #출력결과 [1,2,3,4,5,6] #반복하기 print(list_a * 3) #출력결과 [1,2,3,1,2,3,1,2,3] #길이 출력 print(len(list_a)) #출력결과 3

리스트에 연산자를 사용할 수 있다.
+기호는 연결, *기호는 반복이라는 것을 주의해야한다. (더하기, 곱하기 아님)


리스트에 요소 추가하기 : append, insert, extend

list_c = ["강아지","고양이","병아리","토끼"] list_c.append("고슴도치") #결과 : ['강아지', '고양이', '병아리', '토끼', '고슴도치'] list_c.insert(2,"계란") #결과 : ['강아지', '고양이', '계란', '병아리', '토끼', '고슴도치'] list_c.extend([0,1,2]) #결과 : ['강아지', '고양이', '계란', '병아리', '토끼', '고슴도치', 0, 1, 2]

리스트에 요소를 추가하는 방법들이며 아래 함수를 사용하면 1개씩 넣을 수 있다.
append(요소) : 리스트 뒤에 요소를 추가한다.
insert(위치, 요소) : 리스트 중간에 요소를 추가한다.

한 번에 여러 개의 요소를 추가하고 싶을 땐 extend 함수를 사용한다.
extend(리스트) : 리스트 뒤에 요소를 여러 개 추가한다.

* 연결 연산자와 요소 추가의 차이 : + 연산자로 연결한 경우엔 원본에 변화가 없지만, appen( )나 extend( )를 사용하여 요소를 추가한 경우에는 원본에 변화를 준다.


리스트에 요소 삭제하기 : del, pop, remove, clear

list_c = ['강아지', '고양이', '계란', '병아리', '토끼', '고슴도치', 0, 1, 2] #del키워드와 pop()함수 사용 del list_c[2] #결과 : ['강아지', '고양이', '병아리', '토끼', '고슴도치', 0, 1, 2] list_c.pop(4) #결과 : ['강아지', '고양이', '병아리', '토끼', 0, 1, 2] del list_c[4:7] #결과 : ['강아지', '고양이', '병아리', '토끼'] #remove()함수와 clear()함수 사용 list_c.remove("병아리") #결과 : ['강아지', '고양이', '토끼'] list_c.clear() #결과 : []

리스트에 요소를 삭제하는 방법이다.

del 리스트명[인덱스]
del 키워드를 사용하면 슬라이싱으로 여러 개의 요소를 한 번에 지우는 것도 가능하다.
범위의 마지막 요소는 포함되지 않기 때문에 실수 하지 않도록 주의해야한다.

리스트명.pop(인덱스)
pop( )함수의 디폴트값은 -1이라 아무것도 입력하지 않는다면 맨 뒤에 요소가 삭제된다.

리스트.remove(값)
remove( ) 함수로 지정한 값이 리스트 내에 여러 개 있다면, 맨 앞에 있는 값 먼저 제거된다.
즉 한 번의 실행으로 한 개의 요소만 지울 수 있다.
반복문과 같이 사용한다면 여러 개의 값을 모두 제거하는 것이 가능하다.

리스트.clear( )
내부에 있는 것을 모두 제거하여 대괄호[ ] 껍데기만 남긴다.


리스트 내부에 특정 요소가 있는지 확인 : in/not in 연산자

list_d = [1,2,3,4,5] 1 in list_d #결과 : True 6 in list_d #결과 : False 1 not in list_d #결과 : False 6 not in list_d #결과 : True

in/not in 연산자는 많이 사용하는 코드이다.

in 연산자는 list 내부에 찾는 값이 있으면 True를 출력,
not in 연산자는 list 내부에 찾는 값이 없으면 True를 출력한다.


리스트에 사용하는 for 반복문

for 반복자 in 반복할 수 있는 것:
□□□□ 코드

array = [1,2,3,4,5] #1 : 리스트와 함께 사용한 반복문 for element in array: print(element) #출력결과 #1 #2 #3 #4 #5 #2 : 문자열과 함께 사용한 반복문 for character in "안녕하세요": print("-", character) #출력결과 #- 안 #- 녕 #- 하 #- 세 #- 요

반복문은 리스트와 문자열에 사용할 수 있다.
#1의 경우, 반복자를 실행할 코드에 넣어 array의 요소들을 차례로 출력하였고,
#2의 경우, 문자열을 for 반복문과 함께 사용하였는데 출력할때 "-"도 함께 반복하여 출력하였다.

반응형