티스토리 뷰
keyword: List_avg, 2차원 리스트, range(), 리스트 더하기, 리스트 곱하기, 리스트 요소 변경, append(), insert(), extend(), 리스트 삭제, copy(), reverse(), sort(), pop()
List는 자료형의 한 종류이다. Python에서 가장 많이 사용되는 자료형이다. List의 가장 중요한 특징이 있는데, 바로 mutable하다는 것이다. 즉, 리스트의 요소의 값을 선언한 뒤에 수정할 수 있다는 것이다. 이를 꼭 기억하자
1. List_avg


리스트는 평균을 구하는 메서드가 없다. 따라서 리스트 안에 있는 값의 총합을 리스트 요소의 총 개수로 나누어주는 과정을 거쳐야만 한다. 예시를 살펴보면 score_avg라는 변수안에 sum(score)로 score 리스트의 총합을, 그리고 len(score)로 score 리스트의 총개수를 이용하여, 평균을 구하는 것을 알 수 있다.
2. 2차원 리스트

2차원 리스트는 list of list라고도 하면, 리스트 안에 리스트 자료형이 요소로 있는 것이다. 2차원이라고 부르는 이유는 이 구조가 행과 열로 데이터를 표현할 수 있기때문이다. 위 사진은 3 x 3의 2차원 리스트이다.
3. range()

range(n) 메서드를 사용하면, 0부터 n을 포함하지않는 정수까지 범위가 되게 한다. 이를 리스트에 적용하면 유용한데, 위예시에서 nums = list(range(21))를 보면 21을 넘지 않는 정수, 0부터 20까지 객체를 생성하여, 이를 list()로 감싸면, 0부터 20까지의 리스트를 생성할 수 있다.
range(m, n)과 같이 사용하면, m부터 n-1까지의 정수 범위가 되게 한다.
range(m, n, a)과 같이 사용하면, m부터 n-1까지의 정수 범위가 되게 하는데, step을 a로 설정하여 나타나게 한다.
4.리스트 더하기

리스트 더하기는 리스트끼리 합치는 것을 의미한다. 파이썬은 직관적인 언어이다. 서로 다른 두개의 리스트도 직관적인 방법. '+' 연산자를 이용하여, 하나의 리스트로 만들 수 있다. 이것이 리스트 더하기다. 위 예시를 살펴보면 더하기 한 두 리스트(score1, score2)가 score3에 입력되어, 하나의 리스트가 된 것을 확인할 수 있다.
5. 리스트 곱하기

리스트 곱하기는 리스트에 어떠한 수를 곱하는 것을 의미한다. 사실 정확한 의미는 리스트 반복이다. 위의 예시를 살펴보았을 때, score1 * 2한 값을 score2에, score1 * 3한 값을 score3에 입력되었다. 결과를 확인해봤을 때, 각각 score1의 리스트가 2번, 3번 반복된 리스트가 된 것을 확인할 수 있다.
6. 리스트 요소 변경

앞서 말했다시피, 리스트 자료형은 mutable하다. 즉 리스트 안에 있는 요소의 값을 변경이 가능하다. 이는 리스트 명을 입력후, 변경할 인덱스 번호를 입력, 혹은 구간을 지정한 뒤, 해당 값에 들어갈 값을 입력하면 된다. 예시를 살펴보면, nums[1] =10의 결과 인덱스 1번의 값이 10으로 변경되었고, nums[2:4] = [20, 30]으로 인덱스 2번에서 3번의 값이 20, 30으로 변경되었고, nums[4:7] = [40, 50]으로 인덱스, 4~6번의 값이 40, 50, (none)으로 된 것을 볼 수 있다. 값은 지정하지 않은 인덱스 6번의 값이 아예 사라진 것을 확인할 수 있다.

범위 밖의 값도, "리스트명[인덱싱 및 슬라이싱] = [바꿀 요소들 입력]"의 형태로 리스트의 값을 변경할 수 있다.
7. append()

append()는 리스트 뒤에 요소 하나를 추가하는 메서드이다. 위 예시를 살펴보면, 리스트 nums에 순차적으로 nums.append(5), nums.append(6)의 과정을 거친 결과 nums 리스트 뒤의 5와 6이라는 요소가 추가된 것을 확인할 수 있다.
8. insert()

list 자료형의 요소를 중간에 추가하고 싶은 경우가 있을 것이다. 이럴 떄 바로 insert() 메서드를 사용하면 된다. 위의 예시를 살펴보면 insert(인덱스, 값)을보면, 인덱스에 있는 값을 밀어내고, 해당 인덱스에 값이 입력된 것을 확인할 수 있다. 아래 예시를 살펴보면, nums 리스트에 -1에 60이라는 값을 입력하면, 리스트 맨 끝에 60이 위치하는 것을 확인할수 있다. 그러나, 굳이 insert()를 사용할 필요없이 끝에 요소를 추가하려면 앞서 배운 append() 함수를 이용하는 것이 더욱 편리하다.
9. extend()

extend는 확장하다라는 뜻이다. 이는 list를 확장할 때 쓰는 메서드인다. 리스트.extend(리스트)를 사용하게 되면, extend()안에 인자로 입력한 리스트가 .앞의 리스트에 연결되어 확장된 것을 확인할 수 있다.
10. 리스트 삭제

리스트 삭제는, 리스트 요소 삭제, 리스트 구간 삭제, 리스트 전체를 삭제를 의미한다. 이도 역시 del 명령어를 사용하면 편하다. "del 리스트명[인덱스 번호 혹은 인덱싱 구간]" 와 같이 사용하면 된다.

리스트 전체 삭제의 방법은 2가지인데, 먼저, list1 = [ ]과 같이 리스트를 공백의 새 리스트로 재지정하는 것이다. 또한 list1.clear()와 같이 clear() 메서드를 사용하면, list1을 공백으로 초기화할 수 있다.
11. copy(), reverse(), sort(), pop()

다음은 3가지 메서드인데, 먼저 copy()는 리스트를 복사하는 메서드이다.
nums_copy1 = nums는 nums_copy1이 nums와 같은 메모리를 참조하기 때문에, 완전한 복사를 의미하는 것이 아니다. 반면에, nums_copy2 = nums[:]의 전체 범위를 지정하여 복사하여, 같은 메모리를 참조하지 않는다. 따라서 후자가 보다 완전한 복사라고 할 수 있다.

다음은 reverse()이다. 이는 리스트.reverse() 형태로 사용하게 되는데, list의 요소의 순서를 기존 순서에서 역순으로 위치하게 만든다.

다음은 sort()이다. 이는 정렬을 의미하는데, 기본적으로는 오름차순으로 리스트를 정렬한다. 그러나 sort(reverse = True)로 설정하게 되면, 리스트를 내림차순(오름차순의 역순)으로 위치하게 한다.

마지막은 pop() 메서드이다. pop()메서드는 특정 인덱스에 위치한 값을 떼어내는 역할을 한다. 예시를 살펴보면, member의 인덱스 2번의 요소를뗴어내어 del_member에 입력한 것을 확인할 수 있다. 이는 2가지 동작을 한번에 처리하는데, 먼저, 리스트의 요소의 값을 제거하고 이를 어떤 변수에 넣으면 해당 값을 반환한다.
'개발자 로그 > Python' 카테고리의 다른 글
| 집합(set) 자료형 (1) | 2024.09.06 |
|---|---|
| 튜플(tuple) 자료형 (0) | 2024.09.06 |
| 문자열 자료형(2) (0) | 2024.09.05 |
| 문자열 자료형(1) (1) | 2024.09.04 |
| Jupyter Lab 실행, 연산자와 기본 자료형 (0) | 2024.09.04 |
- Total
- Today
- Yesterday
- 스마트워치2025
- 정규표현식의 유용성
- 함수의 형태
- 튜플은 immutable
- 배열만들기
- cladue mcp
- 리스트 더하기
- legb 규칙
- list comprehention
- 인덱싱과 슬라이싱 불가
- 튜플 안에 리스트 요소는 변경이 가능
- 딕셔너리의 자료형
- model context protocol
- 엑셀파이썬
- 클로드 mcp
- 리스트 요소 대문자 변환
- 같은 key는 무시
- 조회 및 슬라이싱
- list_avg
- 요소가 하나인 튜플
- 날짜 시간 자료형
- 딕셔너리 변경 및 추가
- 문자열 콤마
- 중복 x
- list에서의 사용되는 for문
- 넘파이 불러오기
- 조건 조회
- 리스트 요소 변경
- 리스트 곱하기
- 정규표현식이란
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |