1-5-1. Python 리스트와 반복문 활용하기
리스트 (list)
사전적 의미는 ‘목록’입니다.
즉 여러가지 자료를 저장할 수 있는 자료(data)입니다.
지금까지의 포스팅에서 사용한 숫자, 문자, 수식 등을
개별적인 ‘이름’을 가진 자료입니다.
리스트는 이와는 다르게
자료들을 모아서 사용할 수 있게 해주는 형태의 자료를 의미합니다.
제가 느끼기에 가장 비슷한 형태는
대한민국 고등학교 1학년 수학에 나오는 집합과 비슷합니다.
형태
array = [요소1, 요소2, 요소3,﹒﹒﹒]
리스트의 순서는 첫번째 요소를 앞에서 설명한 것과 동일하게 0부터 시작합니다.
문자열과 동일하게 파이썬은 0부터 수를 셉니다.
Zero Index
정방향으로 요소 선택하기
# array[0] = 요소1, array[1] = 요소2, ﹒﹒﹒
array = [111, 123, 321, "가나다", True]
print(array[0]) # 111 (type로 확인해보면 int가 나옵니다.)
print(array[1]) #123 (type로 확인해보면 int가 나옵니다.)
print(array[2]) #321 (type로 확인해보면 int가 나옵니다.)
print(array[3]) #"가나다"(type로 확인해보면 str가 나옵니다.)
print(array[4]) #True (type로 확인해보면 bool가 나옵니다.)
역방향으로 요소 선택하기
array = [111, 123, 321, "가나다", True]
print(array[-1]) #True (type로 확인해보면 bool가 나옵니다.)
print(array[-2]) #"가나다"(type로 확인해보면 str가 나옵니다.)
print(array[-3]) #321 (type로 확인해보면 int가 나옵니다.)
print(array[-4]) #123 (type로 확인해보면 int가 나옵니다.)
print(array[-5]) # 111 (type로 확인해보면 int가 나옵니다.)
접근 연산자를 이중으로 사용가능
문자열에서 단어를 선택하는 기능을 리스트에서도 사용이 가능합니다.
처음 [ ]는 리스트의 순서를 의미하고
리스트에서 선택한 [ ]가 문자열이라면 두번째 [ ]는 문자열의 문자 선택
array = [111, 123, 321, "가나다", True]
print(array[3][0]) # "가" 를 출력할 것입니다.
리스트 안에 리스트를 사용하기
list = [[1,2,3], [4,5,6], [7,8,9]]
print(list[1]) # [1,2,3]이 출력될 것입니다.
print(list[1][2]) # 2가 출력될 것입니다.
IndexError
[ ] 안의 숫자가 저장된 리스트보다 큰 수를 입력한다면IndexError: list index out of range
라는 오류가 출력됩니다.
리스트 연산자
연결(+), 반복(-), 길이(len())
list_1 = [1, 3, 5]
list_2 = [2, 4, 6]
# 기본 연산자 활용
print("#리스트 연산자 활용")
print("list_1 + list_2 = ", list_1 + list_2)
print("list_1 * 4 = ", list_1*4)
# 길이 구하기
print("\n# 길이를 출력합니다.")
print("len(list_1) =", len(list_1))
문자열 연결 연산자와 반복 연산자 len()함수를 통해
리스트에서도 비슷한 결과를 출력할 수 있습니다.
리스트 요소 추가하기
요소 추가하기 : append(뒤에 추가할 요소 입력)
요소 삽입하기 : insert(삽입할 위치, 삽입할 요소)
# 리스트 선언하기
list_1 = [1, 3, 5]
# 리스트 뒤에 요소 추가하기
print("요소 추가하기")
list_1.append(7)
list_1.append(9)
print(list_1)
# 리스트 중간에 요소 추가하기
print("#리스트에 요소 추가하기)
list_1.insert(1, 2)
list_1.insert(3, 4)
list_1.insert(5, 6)
list_1.insert(7, 8)
list_1.insert(9, 10)
print(list_1)
연결 연산자
연결 연산자는 기존의 리스트는 영향을 받지 않습니다.
a = list_1 + list_2 와 같은 형태로 사용한다면 영향을 받지 않을 수 있습니다.
extend() 함수의 사용 방법
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_1.extend(list_2)
이 경우 list_1의 값은
list_1 = list_1 + list_2와 같은 형태로
뒤에 추가 되는 형태로 list_1 자체가 변하는 점이 차이라고 할 수 있습니다.
원본에 영향을 주지 않는 것 : 비파괴적
리스트에 직접적인 영향을 주는 함수 또는 연산 : 파괴적
(insert(), extend()와 같은 함수)
리스트 요소 제거하기
인덱스로 제거하기
del키워드 혹은 pop() 함수 형태
del 리스트명[인덱스]
리스트명.pop(인덱스)
#리스트 선언
list_1 = [0, 1, 2, 3, 4, 5]
del list_1[0]
list_1.pop(5)
print(list_1) # [1, 2, 3, 4]가 출력이 예상됩니다.
값으로 제거하기
remove() 함수 형태
리스트명.remove(값)
# 리스트 선언
list_2 = [0, 1, 3, 3, 4, 4, 4, 5, 5, 5, 5]
list_2.remove(5)
print(list_2) # [0, 1, 3, 3, 4, 4, 4]
모두 제거하기
clear() 함수 형태
리스트.clear()
list_3 = [1, 2, 3, 4, 5]
list_3.clear()
print(list_3) # [ ]이 출력될 것입니다. (요소가 모두 제거되었기 때문)
리스트 내부에 값 있는지 확인
in 연산자 형태
값 in 리스트
list = [222, 1212, 123, 1234] print(222 in list) print(1212 in list)for 반복문
컴퓨터에게 특정 행동을 반복하게 만드는 함수입니다.
형태
for i in range(반복횟수): 반복할 코드의 형태를 가지고 있습니다.
예제 코드
for i in range(30): print("반복입니다.")for 반복문을 리스트와 함께 사용하기
#리스트 선언 array = [123, 234, 345, 456] #리스트에 반복문 적용 for element in array: print(element)for 반복문은 리스트에 있는 요소 하나하나가
element라는 변수에 들어가고
차례차례 반복하게 됨
핑백: 1-5-2. Python 딕셔너리 반복문 » 코드 한입