01. Python 기초- 함수&메소드 : 리스트(list) 편

ID짱재·2021년 2월 19일
0

Python

목록 보기
10/39
post-thumbnail

🌈 함수&메소드 : 리스트(list) 편

🔥 리스트의 함수

🔥 리스트 메소드

🔥 리스트 컴프리헨션


1. 리스트의 함수

  • len() : 리스트에 있는 데이터 개수 반환
  • max() : 리스트에 있는 데이터 데이터 중 가장 큰 데이터 반환
  • min() : 리스트에 있는 데이터 데이터 중 가장 작은 데이터 반환
  • sum() : 리스트에 있는 데이터 데이터의 합을 반환
  • sorted() : 리스트 정렬 후 반환
    ✔️ Default 값이 오름차순, 내림차순으로 하려면 옵션 추가(reverse=True)
  • revered() : 리스트를 거꾸로 반환

✍🏻 len() : 리스트에 있는 데이터 개수 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
print(len(aList)) # 10

✍🏻 max() : 리스트에 있는 데이터 데이터 중 가장 큰 데이터 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
print(max(aList)) # 1

✍🏻 min() : 리스트에 있는 데이터 데이터 중 가장 작은 데이터 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
print(min(aList)) # 10

✍🏻 sum() : 리스트에 있는 데이터 데이터의 합을 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
print(sum(aList)) # 540

✍🏻 sorted() : 리스트 정렬 후 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
ascending_aList = sorted(aList) 
print(ascending_aList) # [10, 20, 30, 40, 50, 60, 70, 80, 80, 100]
descending_AList = sorted(aList, reverse=True)
print(descending_AList) # [100, 80, 80, 70, 60, 50, 40, 30, 20, 10]
print(aList) # [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]

✍🏻 revered() : 리스트를 거꾸로 반환

aList = [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]
revered_list = list(reversed(aList))
print(revered_list) # [40, 50, 100, 60, 70, 80, 80, 30, 10, 20]
print(aList) # [20, 10, 30, 80, 80, 70, 60, 100, 50, 40]

2. 리스트 메소드

  • index() : 존재하면 index번호를 반환하고, 없으면 오류
  • count() : 해당 데이터 갯수 반환
  • append() : 리스트의 맨 끝에 데이터를 추가함
  • insert() : 해당 위치에 데이터 삽입
  • remove() : 해당 데이터 삭제
  • sort() : 리스트의 데이터를 정렬(원본 리스트 자체를 수정)

✍🏻 index() : 위치 찾기

aList = ['a', 'b', 'c', 'd', 'e']
index_list = aList.index('c')
print(index_list) # 2

✍🏻 count() : 해당 데이터 갯수 반환(없을 땐 0 반환)

aList = ['a', 'b', 'c', 'd', 'e', 'b', 'b', 'c', 'd']
print(aList.count('b')) # 3
print(aList.count('g')) # 0

✍🏻 append() : 리스트의 맨 끝에 데이터를 추가함

aList = ['a', 'b', 'c', 'd', 'e']
aList.append('f')
print(aList) # ['a', 'b', 'c', 'd', 'e', 'f']

✍🏻 insert() : 해당 위치에 데이터 삽입

aList = ['a', 'b', 'c', 'd', 'e']
aList.insert(2, 'ff')
print(aList) # ['a', 'b', 'ff', 'c', 'd', 'e']

✍🏻 remove() : 해당 데이터 존재하면 삭제하고, 이미 없으면 오류 발생

aList = ['a', 'b', 'c', 'd', 'e']
aList.remove('c')
print(aList) # ['a', 'b', 'd', 'e']

✍🏻 sort() : 리스트의 데이터를 정렬(원본 리스트 자체를 수정)

aList = [10, 90, 70, 20, 30, 100, 40, 50, 60, 80]
aList.sort()
print(aList) # [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

3. 리스트 컴프리헨션

  • 리스트를 초기화하는 방법 중 하나이며, 대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화함
  • 대괄호([])안에 조건문과 반복문에 콜론(:)은 생략
  • append로 list값을 추가하는 방법보다 간결해짐(3~4줄의 코드가 1줄로 구현 가능)

✍🏻 python

# 일반 리스트 생성 방법(append)
array_a = []
for i in range(10):
  array_a.append(i)
print(array_a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 리스트 컴프리헨션
# 0부터 9까지 정수를 포함하는 리스트
array_b = [i for i in range(10)] # 리스트 변수명
print(array_b) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 0부터 19까지의 수 중에서 홀수만 포함하는 리스트
array_c = [i for i in range(20) if i % 2 == 1]
print(array_c) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
# 1부터 9까지의 수들의 제곱 값을 포함하는 리스트
array_d = [i*i for i in range(1,10)]
print(array_d) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
  • 리스트 컴프리헨션은 2차원 리스트를 만드는게 유용하게 사용될 수 있음

✍🏻 python

# N X M 크기의 2차원 리스트 최기화
n = 4
m = 3
array = [[0] * m for _ in range(n)]
print(array) # [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
array[1][1] = 5 # 해당 위치의 값만을 제어하기 편리함
print(array) # [[0, 0, 0], [0, 5, 0], [0, 0, 0], [0, 0, 0]]
  • 특정값을 제외한 리스트를 생성하는데 리스트 컴프리헨션 적용하기

✍🏻 python

a = [1,2,3,4,5,5,5]
remove_set = {3,5}
result = [i for i in a if i not in remove_set] # 3과 5는 모두 제거하고 i를 추가
print(result) # [1, 2, 4]
profile
Keep Going, Keep Coding!

0개의 댓글