일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 제로베이스 데이터사이언스
- AIFFEL
- 딕셔너리
- 데이터사이언스 스쿨
- 파이썬
- 추천시스템
- Set
- 코딩도장
- 데이터사이언티스트
- 제어문
- numpy
- TensorFlow
- 사이킷런
- 파이썬코딩도장
- 딥러닝
- 재귀함수
- Python
- AI
- 데이터분석
- 후기
- 아이펠
- 함수
- 클래스
- 카카오
- 머신러닝
- 기사
- 자연어처리
- 속성
- 스크랩
- NLP
- Today
- Total
뮤트 개발일지
[파이썬 코딩 도장] Unit 22. 리스트와 튜플 이용하기 본문
리스트 조작하기
append: 요소 하나를 추가
>>> a = [10, 20, 30]
>>> a.append(500)
>>> a
[10, 20, 30, 500]
>>> len(a)
4
extend: 리스트를 연결하여 확장
>>> a = [10, 20, 30]
>>> a.extend([500, 600])
>>> a
[10, 20, 30, 500, 600]
>>> len(a)
5
insert: 특정 인덱스에 요소 추가
>>> a = [10, 20, 30]
>>> a.append([500, 600])
>>> a
[10, 20, 30, [500, 600]]
>>> len(a)
4
insert(0, 요소): 리스트 맨 처음에 요소 추가
insert(len(리스트), 요소): 리스트 끝에 요소 추가
* len()은 인덱스보다 1이 더 많기 때문에 끝에 추가하는 데에 많이 사용된다.
>>> a = [10, 20, 30]
>>> a.insert(1, [500, 600])
>>> a
[10, [500, 600], 20, 30]
인덱스1번에 값 추가하기
>>> a = [10, 20, 30]
>>> a[1:1] = [500, 600]
>>> a
[10, 500, 600, 20, 30]
pop: 마지막 요소 또는 특정 인덱스의 요소 삭제
>>> a = [10, 20, 30]
>>> a.pop(1)
20
>>> a
[10, 30]
del 사용하기
>>> a = [10, 20, 30]
>>> del a[1]
>>> a
[10, 30]
remove: 특정 값을 찾아서 삭제
* 만약 리스트에 같은 값이 여러 개인 경우 처음 찾은 값이 삭제된다.
>>> a = [10, 20, 30, 20]
>>> a.remove(20)
>>> a
[10, 30, 20]
index(): 리스트에서 특정 값의 인덱스를 구한다.
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.index(20)
1
count(): 리스트의 값 세기
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.count(20)
2
reverse(): 리스트의 값 뒤집기
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.reverse()
>>> a
[40, 20, 15, 30, 20, 10]
sort(): 리스트 정렬하기
* sort() 또는 sort(reverse=False): 리스트의 값을 작은 순서대로 정렬(오름차순)
* sort(reverse=True): 리스트의 값을 큰 순서대로 정렬(내림차순)
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.sort()
>>> a
[10, 15, 20, 20, 30, 40]
* sorted(): sort()와 유사하지만, 새로운 메모리에 할당하는 것이 차이. 정렬된 새 리스트를 생성한다.
>>> a = [10, 20, 30, 15, 20, 40]
>>> a.sort() # a의 내용을 변경하여 정렬
>>> a
[10, 15, 20, 20, 30, 40]
>>> b = [10, 20, 30, 15, 20, 40]
>>> sorted(b) # 정렬된 새 리스트를 생성
[10, 15, 20, 20, 30, 40]
clear(): 리스트의 모든 요소 삭제
del[:]: 리스트의 모든 요소 삭제
>>> a = [10, 20, 30]
>>> del a[:]
>>> a
[]
a[len(a):]: 끝에 값 추가하기
* 한 개를 추가하면 append()와 같고, 두 개 이상을 추가하면 extend()와 같다.
>>> a = [10, 20, 30]
>>> a[len(a):] = [500]
>>> a
[10, 20, 30, 500]
리스트가 비워져 있는지 확인하기
if not len(seq): # 리스트가 비어 있으면 True
if len(seq): # 리스트에 요소가 있으면 True
if not seq: # 리스트가 비어 있으면 True
if seq: # 리스트에 내용이 있으면 True
seq = []
if seq: # 리스트에 요소가 있는지 확인
print(seq[-1]) # 요소가 있을 때만 마지막 요소를 가져옴
리스트의 할당과 복사 알아보기
>>> a = [0, 0, 0, 0, 0]
>>> b = a
서로 같은 메모리를 가리키고 있는 상태이다.
리스트 a, b를 완전히 두 개로 만들기 위해서는 copy()로 복사해야 한다.
반복문으로 리스트의 요소를 모두 출력하기
for 반복문으로 요소 출력하기
기본 구조
for i in [38, 21, 53, 62, 19]:
print(i)
인덱스와 요소를 함께 출력하기
>>> a = [38, 21, 53, 62, 19]
>>> for index, value in enumerate(a):
... print(index, value)
...
0 38
1 21
2 53
3 62
4 19
for 인덱스, 요소 in enumerate(리스트, start = 숫자): 인덱스가 '숫자'부터 시작하도록 함
>>> for index, value in enumerate(a, start=1):
... print(index, value)
...
1 38
2 21
3 53
4 62
5 19
while 반복문으로 요소 출력하기
기본구조
>>> a = [38, 21, 53, 62, 19]
>>> i = 0
>>> while i < len(a):
... print(a[i])
... i += 1
...
38
21
53
62
19
리스트의 가장 작은 수, 가장 큰 수, 합계 구하기
가장 작은 수 구하기
>>> a = [38, 21, 53, 62, 19]
>>> smallest = a[0]
>>> for i in a:
... if i < smallest:
... smallest = i
...
>>> smallest
19
* 가장 큰 수 구하기는 위에서 부등호만 바꾸면 된다.
sort() 사용하기
>>> a = [38, 21, 53, 62, 19]
>>> a.sort()
>>> a[0]
19
>>> a.sort(reverse=True)
>>> a[0]
62
min(), max() 사용하기
>>> a = [38, 21, 53, 62, 19]
>>> min(a)
19
>>> max(a)
62
리스트 요소의 합 구하기
반복문 사용
>>> a = [10, 10, 10, 10, 10]
>>> x = 0
>>> for i in a:
... x += i
...
>>> x
50
sum() 사용
>>> a = [10, 10, 10, 10, 10]
>>> sum(a)
50
리스트 표현식 사용하기
리스트 컴프리핸션 list comprehension: 리스트 안에 for 반복문과 if 조건문을 넣을 수 있다.
for 문 넣기
>>> a = [i for i in range(10)] # 0부터 9까지 숫자를 생성하여 리스트 생성
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b = list(i for i in range(10)) # 0부터 9까지 숫자를 생성하여 리스트 생성
>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
if 문 넣기
>>> a = [i for i in range(10) if i % 2 == 0] # 0~9 숫자 중 2의 배수인 숫자(짝수)로 리스트 생성
>>> a
[0, 2, 4, 6, 8]
for 문 뒤에 if 문을 지정하면, 숫자를 생성한 뒤 if 문 조건에 맞는 특정 숫자만 뽑아서 리스트를 생성할 수 있다.
리스트에 map 사용하기
'코딩도장' 카테고리의 다른 글
[파이썬 코딩 도장] Unit 34. 클래스 사용하기 (0) | 2022.01.03 |
---|---|
[파이썬 코딩 도장] Unit 31. 함수에서 재귀호출 사용하기 (0) | 2021.12.30 |
[파이썬 코딩 도장] Unit 25. 딕셔너리 응용하기 (0) | 2021.12.29 |
[파이썬 코딩 도장] Unit 23. 2차원 리스트 사용하기 (0) | 2021.12.29 |
[파이썬 코딩 도장] Unit 16 - 18 (0) | 2021.12.29 |