728x90
728x170
리스트(List)
리스트(List)
- 하나씩 사용하던 변수를 한 줄로 붙여 놓은 것
- 다른 프로그래밍 언어의 배열(Array)과 비슷한 개념이다.
리스트 생성과 사용법
1차원 리스트
리스트이름 = [값1, 값2, 값3, ...]
- 리스트는 대괄호([ ]) 안에 값을 선언한다.
- 리스트는 첨자를 사용하여 접근한다.
- 예) aa[0] : 리스트의 첫번째 요소에 접근
예 : 1차원 리스트 생성하기
aa = [10, 20, 30, 40]
aa
더보기
[10, 20, 30, 40]
2차원 리스트
리스트이름 = [[값1, 값2, 값3, ...], [값1, 값2, 값3, ...], ...]
- 첨자를 2개 사용하여 각 항목에 접근한다.
- 예) aa[0][1]
예 : 2차원 리스트 생성하기
list1 = []
list2 = []
value = 1
for i in range(0, 3):
for k in range(0, 4):
list1.append(value)
value += 1
list2.append(list1)
list1 = []
for i in range(0, 3):
for k in range(0, 4):
print("%3d" % list2[i][k], end= " ")
print(" ")
더보기
1 2 3 4
5 6 7 8
9 10 11 12
리스트 값에 접근하는 방법
리스트이름[첨자] # 1차원 리스트
리스트이름[첨자1][첨자2] # 2차원 리스트
- 생성된 리스트는 첨자로 접근할 수 있다.
- 첨자는 맨 뒤부터 -1 값으로 사용한다.
리스트 | |||||||||
인 덱 스 |
-9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
요소 | a | b | c | d | e | f | g | h | i |
- 리스트에 접근할 때 콜론(:)을 사용하여 범위를 지정할 수 있다.
리스트이름[시작값:끝값+1]
aa = [10, 20, 30, 40]
aa[0:3] # [10, 20, 30]
aa[2:4] # [30, 40]
- 콜론의 앞이나 뒤 숫자를 생략할 수도 있다.
aa = [10, 20, 30, 40]
aa[2:] # [30, 40]
aa[:2] # [10, 20]
리스트 조작 함수
함수 | 설명 | 사용법 |
append() | 리스트 맨 뒤에 항목을 추가한다. | 리스트이름.append(값) |
pop() | 리스트 맨 뒤의 항목을 빼낸다. (리스트에서 해당 항목을 삭제한다.) | 리스트이름.pop() |
sort() | 리스트의 항목을 정렬한다. | 리스트이름.short() |
reverse() | 리스트 항목의 순서를 역순으로 만든다. | 리스트이름.reverse() |
index() | 지정한 값을 찾아 위치를 반환한다. | 리스트이름.index(찾을값) |
insert() | 지정한 위치에 값을 삽입한다. | 리스트이름.insert(위치, 값) |
remove() | - 리스트에서 지정한 값을 제거한다. - 단, 지정한 값이 여러 개이면 첫 번째 값만 지운다. |
리스트이름.remove(지울값) |
extend() | - 리스트 뒤에 리스트를 추가한다. - 리스트의 더하기(+) 연산과 기능이 동일하다. |
리스트이름.extend(추가할리스트) |
count() | 리스트에서 해당 값의 개수를 센다. | 리스트이름.count(찾을값) |
clear() | 리스트 내용을 모두 지운다. | 리스트이름.clear() |
del() | 리스트에서 해당 위치의 항목을 삭제한다. | del(리스트이름[위치]) |
len() | 리스트에 포함된 전체 항목의 개수를 센다. | len(리스트이름) |
copy() | 리스트 내용을 새로운 리스트에 복사한다. | 새리스트 = 리스트이름.copy() |
sorted() | 리스트의 항목을 정렬해서 새로운 리스트에 대입한다. | 새리스트 = sorted(리스트) |
사용 예
myList = [30, 10, 20]
print("현재 리스트 : %s" % myList)
myList.append(40)
print("append(40) 후의 리스트 : %s" % myList)
print("pop()으로 추출한 값 : %s" % myList.pop())
print("pop() 후의 리스트 : %s" % myList)
myList.sort()
print("sort() 후의 리스트 : %s" % myList)
myList.reverse()
print("reverse() 후의 리스트 : %s" % myList)
print("20 값의 위치 : %d" % myList.index(20))
myList.insert(2, 222)
print("insert(2, 222) 후의 리스트 : %s" % myList)
myList.remove(222)
print("remove(222) 후의 리스트 : %s" % myList)
myList.extend([77, 88, 77])
print("extend([77, 88, 77]) 후의 리스트 : %s" % myList)
print("77 값의 개수 : %d" % myList.count(77))
더보기
현재 리스트 : [30, 10, 20]
append(40) 후의 리스트 : [30, 10, 20, 40]
pop()으로 추출한 값 : 40
pop() 후의 리스트 : [30, 10, 20]
sort() 후의 리스트 : [10, 20, 30]
reverse() 후의 리스트 : [30, 20, 10]
20 값의 위치 : 1
insert(2, 222) 후의 리스트 : [30, 20, 222, 10]
remove(222) 후의 리스트 : [30, 20, 10]
extend([77, 88, 77]) 후의 리스트 : [30, 20, 10, 77, 88, 77]
77 값의 개수 : 2
컴프리핸션(Comprehension, 함축)
- 순차적인 리스트를 한 줄로 만드는 간단한 방법
1차원 리스트
리스트 = [수식 for 항목 in range() if 조건식]
사용 예
# 일반적인 방법으로 리스트 만들기
numList = []
for num in range(1, 6):
numList.append(num)
# 컴프리헨션을 이용한 리스트 만들기
numList = [num for num in range(1, 6)]
# if 문 사용 하기 : 1~20 숫자 중에서 3의 배수로만 리스트 구성하기
numList = [num for num in range(1, 21) if num % 3 == 0]
2차원 리스트
리스트 = [[수식 for 항목 in range()] for 항목 in range()]
사용 예
list2 = [[0 for _ in range(4)] for _ in range(3)] # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
728x90
그리드형(광고전용)
'Programming > Python' 카테고리의 다른 글
[Python] 튜플(Tuple) (0) | 2022.03.19 |
---|---|
[Python] 문자열 (0) | 2022.03.19 |
[Python] 세트(Set) (0) | 2022.03.19 |
[Python] 딕셔너리(Dictionary) (0) | 2022.03.19 |
[Python] global (0) | 2022.03.19 |
[Python] 파이썬에서의 main() 함수 (0) | 2022.03.19 |
[Python] 파이썬에서 넘파이(NumPy) 설치하기 (0) | 2022.03.19 |
아나콘다(Anaconda) 환경 변수 설정 방법 (Windows) (0) | 2022.03.19 |