리스트 : 여러가지 자료를 저장할 수 있는 자료. 숫자, 문자, 수식 등이 개별적인 자료라면, 리스트는 자료들을 모아서 사용할 수 있게 해주는 형태의 자료. 대괄호 [ ] 내부에 여러 종류의 자료를 넣어 선언함.
리스트 선언하고 요소에 접근하기
리스트를 생성하는 방법은 대괄호 [ ]에 자료를 쉼표로 구분해서 입력함.
[ ] 내부에 넣는 자료를 요소(element)라고 부름.
프롬프트에 리스트를 입력하면 리스트 내부의 자료를 모두 출력한다.
>>> [2,5,"파이썬",True]
[2, 5, '파이썬', True]
요소를 각각 사용하려면 리스트 이름 바로 뒤에 대괄호 [ ] 를 입력하고, 자료의 위치를 나타내는 숫자를 입력한다.
파이썬은 0부터 숫자를 셈.
>>> list_a=[1,5,48,"파이썬",False]
>>> list_a[1]
5
>>> list_a[0:4]
[1, 5, 48, '파이썬']
리스트 기호인 대괄호[ ] 안에 들어간 숫자를 인덱스(index)라고 부른다.
[0:4]는 0번째 글자부터 4번째가 아닌 그 앞 숫자, 3까지 선택함.
리스트의 요소는 변경이 가능함.
>>> list_a[1]="변경"
>>> list_a
[1, '변경', 48, '파이썬', False]
※ 리스트의 다른 사용법
① 대괄호 안에 음수를 넣어 뒤에서부터 요소를 선택할 수 있다.
>>> list_a
[1, '변경', 48, '파이썬', False]
>>> list_a[-1]
False
>>> list_a[-3]
48
② 리스트 접근 연산자를 이중으로 사용할 수 있다.
>>> list_a[3][1]
'이'
list_a[3] 으로 "파이썬"을 불러오고, 다시 1번째를 가져와 "이"를 출력함.
③ 리스트 안에 리스트를 사용할 수 있다.
>>> list_b=[[1,2,3],[4,5,6],[7,8,9]]
>>> list_b[1]
[4, 5, 6]
>>> list_b[2][0]
7
리스트 연산자 : 연결(+), 반복(*), len()
=>
#리스트
list_a= [1, 2, 3]
list_b= [4, 5, 6]
# 리스트 기본 연산자
list_a+list_b= [1, 2, 3, 4, 5, 6]
list_a*3= [1, 2, 3, 1, 2, 3, 1, 2, 3]
# 길이 구하기
len(list_a)= 3
리스트에 요소 추가하기 : append, insert
append() : 리스트 뒤에 요소를 추가
리스트명.append(요소)
insert() : 리스트의 중간에 요소를 추가
리스트명.insert(위치, 요소)
extend() : 한 번에 여러 요소를 추가. append 함수 여러번 실행한 효과
=>
#리스트 뒤에 요소 추가하기
[1, 2, 3, 4, 5]
#리스트 중간에 요소 추가하기
[10, 1, 2, 3, 4, 5]
리스트에 요소 제거하기
인덱스로 제거하기 : del, pop
위치를 기반으로 요소를 제거하는 방법
del 키워드 : 리스트의 특정 인덱스에 있는 요소를 제거
del 리스트명[인덱스]
pop() : 제거할 위치에 있는 요소를 제거, 매개변수를 입력하지 않으면 마지막 요소를 제거
리스트명.pop(인덱스)
=>
#리스트의 요소 하나 제거하기
del list_a[1]: [0, 2, 3, 4, 5]
list_a.pop(2): [0, 2, 4, 5]
※ pop() 함수의 매개변수에 아무 것도 입력하지 않으면 자동으로 -1이 들어가는 것으로 취급해서 마지막 요소를 제거한다.
※ del 키워드를 사용하면 범위를 지정해 리스트의 요소를 한꺼번에 제거할 수 있다.
ex)
del list_a[2:5]
del list_a[:3]
del list_a[3:]
값으로 제거하기 : remove
remove() : 값을 지정해서 제거하는 것
리스트.remove(값)
>>> list_b=[1,2,1,2]
>>> list_b.remove(2)
>>> list_b
[1, 1, 2]
※ 리스트 내부에 여러 개 있어도 가장 먼저 발견되는 하나만 제거한다.
모두 제거하기 : clear
clear() : 리스트 내부의 요소를 모두 제거
리스트.clear()
>>> list_b.clear()
>>> list_b
[]
리스트 내부에 있는지 확인하기 : in/not in 연산자
값 in 리스트
리스트 내부에 값이 있으면 True, 없으면 False를 출력함.
for 반복문
for 반복자 in 반복할 수 있는 것:
코드
반복할 수 있는 것에는 문자열, 리스트, 딕셔너리, 범위 등이 있다.
=>
241
456
32
76
989
=>
273 는 홀수입니다.
103 는 홀수입니다.
5 는 홀수입니다.
32 는 짝수입니다.
65 는 홀수입니다.
9 는 홀수입니다.
72 는 짝수입니다.
800 는 짝수입니다.
99 는 홀수입니다.
=>
273 는 3 자릿수 입니다.
103 는 3 자릿수 입니다.
5 는 1 자릿수 입니다.
32 는 2 자릿수 입니다.
65 는 2 자릿수 입니다.
9 는 1 자릿수 입니다.
72 는 2 자릿수 입니다.
800 는 3 자릿수 입니다.
99 는 2 자릿수 입니다.
=>
1
2
3
4
5
6
7
8
9
=>
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
※ 문제 풀이 : 먼저 1을 추출해서 number에 들어가면, 3%3은 나머지가 0이므로 output[0].append(1) 이 됨
따라서 0번째 자리에 1이 입력됨. 다음 2를 추출해서 대입하면 4%3의 나머지는 1이므로 output[1].append(2)
1번째 자리에 2가 입력됨. 3으로 나눈 나머지는 0,1,2 중에 하나이므로 반복해서 0번째, 1번째, 2번째 자리에 입력함.
'Python' 카테고리의 다른 글
7. 조건문- if~else와 elif 구문 (0) | 2022.03.26 |
---|---|
6. 조건문 - 불리언, if 조건문 (0) | 2022.03.20 |
5. 숫자와 문자열의 다양한 기능 (0) | 2022.03.15 |
4. 변수와 입력 (0) | 2022.03.13 |
3. 숫자 (0) | 2022.03.12 |