1. 리스트
리스트는 여러가지 자료를 저장할 수 있는 자료형이다. C언어와는 다르게 한가지 자료형으로 구성할 수도 있고 여러 종류의 자료형으로 구성할 수도 있다.
# 리스트 생성
ary = [1,2,3,"문자열",True, False ] # 여러가지 자료형 리스트
ary2 = [1,2,3] # 한가지 자료형(int) 리스트
ary3 = ['p','y','t','h','o','n'] # 한가지 자료형(str) 리스트
print(ary); print(ary2); print(ary3);
리스트에 들어 있는 자료들을 각각 요소(element)라고 하며, 리스트 기호인 [ ]안에 들어간 숫자를 인덱스(index)라고 한다.
ary = [1,2,3,4,5]
print(ary[0]); print(ary[1]); print(ary[2]); print(ary[3]); print(ary[4]); # 인덱스 하나씩 찍어보기
print(ary[0:3]) # 문자열 범위 연산자 : [0]~[2] 까지
ary[0] = 0; print(ary[0]) # 수정도 가능
print(ary[-2]) # 음수를 넣어 문자열의 뒤에서부터 문자를 선택하는 방법
ary[2] = "리스트"; print(ary[2][1]); # 리스트 접근연산자를 사용하여 이중으로 사용하는 방법
ary2 = [[1,2,3],[4,5,6],[7,8,9]] # 2차원 배열
리스트의 길이를 넘는 위치에서 요소를 꺼내려하면 IndexError가 발생함
# 리스트 연산자 (+,*,len())
print(ary+ary2) # 연결
print(ary*3) # 반복
print(len(ary)) #len()함수는 배열의 요소의 갯수를 세어준다.
+(연결), *(반복), len() 을 사용하여 리스트를 연산할 수 있다.
# 리스트요소 추가 함수
# 리스트명.append(요소)
# 리스트명.insert(위치, 요소)
# 리스트명.extend([리스트])
ary4 = [100,200,300,400]
ary4.append(500) # 리스트 맨뒤에 요소 추가
ary4.insert(2,250) # 인덱스2에 250 추가
ary4.extend([600,700,800]) # 한번에 여러가지 요소 추가
print(ary4)
리스트 연결 연산자(+)는 비파괴적 처리(원형 리스트에 영향이 없음), extend() 함수는 파괴적 처리(원형 리스트에 영향이 있음)
# del 리스트명[인덱스]
# 리스트명.pop(인덱스)
ary5 = [3,4,5,6,7]
del ary5[3] # del 키워드를 사용하여 3인덱스 위치의 요소를 삭제
ary5.pop(2) # pop()함수를 사용하여 2인덱스 위치의 요소를 삭제
print(ary5)
# 리스트 슬라이싱
# 리스트[시작_인덱스:끝_인덱스:단계]
num = [1,2,3,4,5,6,7,8]
print(num[0:5:2]) # 0~5인덱스 까지 2인덱스만큼 건너뛰며 요소를 가져옴
# remove(), clear()
num.remove(2) # 2를 제거, 리스트에 중복된 여러개의 값을 제거하는 방법은 반복문을 사용하여야함
print(num)
num.clear() # 리스트 내부의 요소들을 모두제거
print(num)
# in /not in 연산자
num = [232,413,132,53416,132]
print(273 in num) # 273 이 num 리스트에 있는지 확인
print(273 not in num)
# True, False를 반환함
2. For문
for 반복자 in 반복할 수 있는것(문자열,리스트,딕셔너리,범위 등) :
실행코드
num = [1,2,3,4,5,6,7,8]
for i in num:
print(i)
for 반복문은 리스트에 있는 요소 하나하나가 i라는 변수에 들어가며, 차례차례 반복하게된다.
# 이중반복의 이해
num = [[1,2,3],[4,5,6],[7,8,9]]
for i in num:
for j in i:
print(j)
2차원 배열의 요소를 모두 출력하려면 for 반복문을 2번 중첩해서 사용해야한다.
# 리스트의 전개연산자
# *포인터가 아니다... 파이썬의 전개연산자.
num = [132,123,432]
print(*num) # 함수의 매개변수로 사용되는 경우
num2 = [*num,3,2] # 리스트내부에 사용되는 경우
print(num2)
https://colab.research.google.com/drive/1MmCrfHGLYwJCwgGH91-za9PcttYpCjFT?usp=sharing
python_list_loop.ipynb
Colaboratory notebook
colab.research.google.com
'AI > Python' 카테고리의 다른 글
파이썬 기초 (0) | 2023.04.12 |
---|---|
파이썬 프로그래밍 용어 정리 (0) | 2023.04.06 |