리스트
변수를 박스로 애기했다면 리스트는 서랍으로 애기할 수 있다.
박스는 한가지 데이터만 넣을 수 있었지만, 서랍에는 여러개의 데이터를 넣을 수 있다.
리스트 만들기
대괄호[]에 요소를 쉼표로 구분하여 입력해 리스트를 생성한다. 대괄호 내부에 넣는 자료를 요소(element)라고 한다.
※ 파이썬은 숫자를 0부터 세므로 첫번째 요소는 인덱스 0에 저장되어져 있다.
#예시1
hagsig=[1,2,"tistory"]
print("hagsig[0] :", hagsig[0])
print("hagsig[1] :",hagsig[1])
print("hagsig[2] :",hagsig[2])
#실행
hagsig[0] : 1
hagsig[1] : 2
hagsig[2] : tistory
인덱스에 요수를 넣어 뒤에서부터 출력할수도 있다.
#예시2
hagsig=[1,2,"tistory"]
print("hagsig[-1] :", hagsig[-1])
print("hagsig[-2] :", hagsig[-2])
print("hagsig[-3] :", hagsig[-3])
#실행
hagsig[-1] : tistory
hagsig[-2] : 2
hagsig[-3] : 1
대괄호 두개를 써서 선택한 요소의 특정 위치의 글자만 출력할수도 있다.
#예시3
hagsig=[1,2,"tistory"]
print("hagsig[2] :", hagsig[2])
print("hagsig[2][0] :", hagsig[2][0])
print("hagsig[2][6] :", hagsig[2][6])
#실행
hagsig[2] : tistory
hagsig[2][0] : t
hagsig[2][6] : y
리스트 연산자
문자열에 연산자를 이용하여 문자를 합치고 반복했던 것처럼 리스트도 연산자를 사용해 같은 기능을 이용할 수 있다.
#예시
hagsig_a=[1,2,3]
hagsig_b=[4,5,6]
print("hagsig_a + hagsig_b :", hagsig_a + hagsig_b)
print("hagsig_a * 3 :", hagsig_a * 3)
#실행
hagsig_a + hagsig_b : [1, 2, 3, 4, 5, 6]
hagsig_a * 3 : [1, 2, 3, 1, 2, 3, 1, 2, 3]
리스트 길이 구하기
리스트의 길이를 구할때에는 len() 함수를 사용한다.
#예시
hagsig=[1,2,3]
print("len(hagsig) :", len(hagsig))
#실행
len(hagsig) : 3
리스트 요소 변경하기
다음과 같은 방법으로 리스트 요소를 변경할 수 있다.
#예시
hagsig=[1,2,"tistory"]
print("변경 전 :", hagsig)
hagsig[2]="blog"
print("변경 후 :", hagsig)
#실행
변경 전 : [1, 2, 'tistory']
변경 후 : [1, 2, 'blog']
리스트 요소 추가하기
리스트에 요소를 추가할때는 다음과 같은 함수를 사용한다.
리스트 요소 추가 함수 | |
함수 | 설명 |
append() | 리스트 뒤에 요소를 추가 |
insert() | 리스트의 특정 위치에 요소를 추가 |
extend() | 리스트 뒤에 다수의 요소를 추가 |
#예시1. append() 함수
hagsig_a=[1,2,3]
print("항목 추가전 :", hagsig_a)
hagsig_a.append(4)
print("append(4) 결과 :", hagsig_a)
hagsig_a.append(5)
print("append(5) 결과 :", hagsig_a)
#실행
항목 추가전 : [1, 2, 3]
append(4) 결과 : [1, 2, 3, 4]
append(5) 결과 : [1, 2, 3, 4, 5]
#예시2. insert() 함수
hagsig_b=[1,3,5]
print("항목 추가전 :", hagsig_b)
hagsig_b.insert(1,2)
print("insert(1,2) 결과 :", hagsig_b)
hagsig_b.insert(3,4)
print("insert(3,4) 결과 :", hagsig_b)
#결과
항목 추가전 : [1, 3, 5]
insert(1,2) 결과 : [1, 2, 3, 5]
insert(3,4) 결과 : [1, 2, 3, 4, 5]
#예시3. extend() 함수
hagsig_c=[1,2,3]
print("항목 추가전 :", hagsig_c)
hagsig_c.extend([4,5])
print("extend([4,5]) 결과 :", hagsig_c)
#실행
항목 추가전 : [1, 2, 3]
extend([4,5]) 결과 : [1, 2, 3, 4, 5]
리스트 요소 제거하기
리스트 요소를 제거하기 위해서 다음과 같은 함수를 사용한다.
리스트 요소 제거 키워드·함수 | |
키워드·함수 | 설명 |
del | 인덱스를 지정해 특정 요소를 제거 |
pop() | 인덱스를 지정해 특정 요소를 제거 ※ 인덱스 미지정 시 맨뒤의 요소 제거 |
remove() | 특정값을 지정하여 제거 ※ 중복 값이 있으면제일 앞쪽의 요소 제거 |
clear() | 리스트의 모든 요소를 제거 |
#예시1 del
hagsig=[1,2,3,4,5]
print("삭제하기전 :", hagsig)
del hagsig[2]
print("del 결과 :", hagsig)
#실행
삭제하기전 : [1, 2, 3, 4, 5]
del 결과 : [1, 2, 4, 5]
#예시2 pop
hagsig=["blog","hagsig","tistory"]
print("삭제하기 전 :", hagsig)
hagsig.pop(2)
print("pop 결과 :", hagsig)
#실행
삭제하기 전 : ['blog', 'hagsig', 'tistory']
pop 결과 : ['blog', 'hagsig']
#예시3 remove
hagsig=["security","blog","hagsig"]
print("삭제하기 전 :", hagsig)
hagsig.remove("security")
print("remove 결과 :", hagsig)
#실행
삭제하기 전 : ['security', 'blog', 'hagsig']
remove 결과 : ['blog', 'hagsig']
#예시4 clear
hagsig=[1, 2, 3]
print("삭제하기 전 :", hagsig)
hagsig.clear()
print("clear 결과 :", hagsig)
#실행
삭제하기 전 : [1, 2, 3]
clear 결과 : []
리스트 요소 유무 확인
특정값이 리스트 내부에 있는지 확인하기 위해 in, not in 연산자를 사용한다.
#예시
hagsig=[1, 2, 3]
print("hagsig 값 :", hagsig)
print("")
print("1 in hagsig 결과 :", 1 in hagsig)
print("2 in hagsig 결과 :", 2 in hagsig)
print("3 not in hagsig 결과 :", 3 not in hagsig)
print("4 in hagsig 결과 :", 4 in hagsig)
print("5 not in hagsig 결과 :", 5 not in hagsig)
#실행
hagsig 값 : [1, 2, 3]
1 in hagsig 결과 : True
2 in hagsig 결과 : True
3 not in hagsig 결과 : False
4 in hagsig 결과 : False
5 not in hagsig 결과 : True
리스트에 수학 함수 활용
다음과 같은 수학함수는 리스트를 매개변수로 넣어 활용할 수 있는 함수들이다.
리스트와 활용 가능한 수학 함수 | |
함수 | 설명 |
min() | 리스트 내부 요소에서 최솟값을 찾음 |
max() | 리스트 내부 요소에서 최댓값을 찾음 |
sum() | 리스트 내부 요소들을 모두 더함 |
#예시
hagsig=[1, 2, 3, 4, 5]
print("hagsig 값 :", hagsig)
print("")
print("min(hagsig) 결과 :", min(hagsig))
print("max(hagsig) 결과 :", max(hagsig))
print("sum(hagsig) 결과 :", sum(hagsig))
#실행
hagsig 값 : [1, 2, 3, 4, 5]
min(hagsig) 결과 : 1
max(hagsig) 결과 : 5
sum(hagsig) 결과 : 15
리스트 요소 순서 뒤집기
리스트 요소들의 순서를 거꾸로 출력하거나 저장하기위해 reversed() 함수를 사용한다.
#예시1
hagsig=[1, 2, 3, 4, 5]
print("정방향 hagsig :", hagsig)
hagsig_r=list(reversed(hagsig))
print("역방향 hagsig :", hagsig_r)
#실행
정방향 hagsig : [1, 2, 3, 4, 5]
역방향 hagsig : [5, 4, 3, 2, 1]
#예시2
hagsig=[1, 2, 3]
for i in hagsig:
print("정방향 i의 값 :", i)
print("")
for i in reversed(hagsig):
print("역방향 i의 값 :", i)
#실행
정방향 i의 값 : 1
정방향 i의 값 : 2
정방향 i의 값 : 3
역방향 i의 값 : 3
역방향 i의 값 : 2
역방향 i의 값 : 1
위처럼 reversed() 함수를 이용하지 않고 확장 슬라이싱(::-1)을 통해 리스트의 요소를 뒤집을수도 있다.
#예시
hagsig=[1, 2, 3]
print("정방향 학식 :", hagsig)
print("역방향 학식 :", hagsig[::-1])
#실행
정방향 학식 : [1, 2, 3]
역방향 학식 : [3, 2, 1]
인덱스와 요소를 동시에 출력하기
인덱스와 해당 인덱스 안에 존재하는 요소를 동시에 출력하고 싶을때 enumerate() 함수를 사용한다.
#예시1
hagsig=["tistory", "blog", "hagsig"]
print("enumerate 결과 :", list(enumerate(hagsig)))
#실행
enumerate 함수 사용 : [(0, 'tistory'), (1, 'blog'), (2, 'hagsig')]
#예시2
hagsig=["tistory", "blog", "hagsig"]
for i, value in enumerate(hagsig):
print("{}번째 요소는 {}입니다.".format(i, value))
#실행
0번째 요소는 tistory입니다.
1번째 요소는 blog입니다.
2번째 요소는 hagsig입니다.
리스트 안에 for, if문 사용하기
요소를 넣어야 하는 칸에 for, if문을 넣어 요소로 지정하는 것을 리스트 내포(list comprehensions)라고 한다.
#예시1
hagsig=[i for i in range(0, 10, 3)]
print("hagsig 요소 :", hagsig)
#실행
hagsig 요소 : [0, 3, 6, 9]
#예시2
hagsig=["tistory", "blog", "hagsig"]
output=[i for i in hagsig if i != "blog"]
print("hagsig 요소 :", hagsig)
print("output 요소 :", output)
#실행
hagsig 요소 : ['tistory', 'blog', 'hagsig']
output 요소 : ['tistory', 'hagsig']
#예시3
hagsig=["tistory", "blog", "hagsig"]
output=[i for i in hagsig if i != "blog"]
print("hagsig 요소 :", hagsig)
print("output 요소 :", output)
#실행
hagsig 요소 : ['tistory', 'blog', 'hagsig']
output 요소 : ['tistory', 'hagsig']
'파이썬' 카테고리의 다른 글
[파이썬 강의] - 3.2 반복문(딕셔너리) (0) | 2021.02.17 |
---|---|
[파이썬 강의] - 2.2 조건문(if) (0) | 2021.02.12 |
[파이썬 강의] - 2.1 조건문(bool, 연산자) (0) | 2021.02.11 |
[파이썬 강의] - 1.5 자료형(문자열 다루기) (0) | 2021.02.10 |
[파이썬 강의] - 1.4 자료형(변환) (0) | 2021.02.10 |