본문 바로가기
공부/코딩

⛷ [파이썬] 파이썬 기초 정리 (7) : 리스트 _ 4

by blackb1rd 2022. 11. 6.
728x90
반응형
728x170

 

 

 

파이썬 기초 정리

 

 

15) 숫자 리스트를 이용한 통계

-최소값 (min)

예제30)

digits = [1,2,3,4,5,6,7,8,9,0]

min(digits)

 

결과 값

0

 

 

 

-최대값(max)

예제31)

digits = [1,2,3,4,5,6,7,8,9,0]
mix(digits)

 

결과 값

9

 

 

 

-리스트 숫자 총 합계(sum)

예제32)

digits = [1,2,3,4,5,6,7,8,9,0]
sum(digits)

 

결과 값

45

 

 

 

 

 

 

 

16) 리스트 내포 (list comprehension)

이전 제곱수 리스트 예제를 '리스트 내포'를 이용하는 경우 단 한 줄의 코드로 같은 결과 값을 도출하는 리스트를 만들 수 있습니다.

리스트 내포는 for 루프와 새 항목 생성을 한 행에 결합하며 각 새 항목을 자동으로 리스트에 추가하면 됩니다. 

 

예제33)

squares = [value ** 2 for value in range(1, 11)]
print(squares)

 

결과 값

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

 

 

- 리스트 내포를 사용하지 않은 경우의 식과 리스트 내포를 사용한 식의 차이

예제34)

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

 

결과 값

['apple', 'banana', 'mango']

 

예제35)

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)

 

결과 값

['apple', 'banana', 'mango']

 

예제34는 for를 사용해 만든 식이고 예제35는 리스트 내포를 이용해 만든 식입니다. 결과 값이 같음에도 불구하고 리스트 내포를 사용한 식이 훨씬 간단하고 짧다는 것을 한눈으로 확인할 수 있습니다. 

 

 

 

17) 리스트의 일부분을 다루는 법 

- 리스트 자르는 법

파이썬은 리스트의 특정한 항목 그룹만 따로 다룰 수 있는데 이런 그룹을 슬라이드(slice)라고 부릅니다. 

 

예제36)

dogs = ['tim', 'merry', 'ok', 'fly', 'oli']
print(dogs[0:3]) #1

 

결과 값

['tim', 'merry', 'ok']

 

#1의 코드는 이 리스트의 처음 세 플레이어가 포함된 슬라이스를 출력한다는 뜻입니다. 

결과 값을 보면 원리 리스트의 구조를 유지하며 리스트의 처음 세 플레이어를 포함합니다. 따라서 리스트에서 어떤 부분 집합이든 생성이 가능합니다. 밑의 또다른 예시를 확인해서 어떤 식으로 리스트를 자를 수 있는지 확인해보세요. 

 

예제37)

dogs = ['tim', 'merry', 'ok', 'fly', 'oli']
print(dogs[1:4])

 

결과 값

['merry', 'ok', 'fly']

 

[1:4]의 경우 1부터 3까지 총 3개의 리스트 항목을 결과 값으로 도출하게 됩니다. 

 

 

 

반응형

 

 

 

예제38)

dogs = ['tim', 'merry', 'ok', 'fly', 'oli']
print(dogs[:4])

 

결과 값

['tim', 'merry', 'ok', 'fly']

 

슬라이스를 할 때 첫 번째 인덱스를 생략하면 파이썬은 자동으로 리스트의 맨 처음부터 시작합니다. 

 

 

 

예제39)

dogs = ['tim', 'merry', 'ok', 'fly', 'oli']
print(dogs[2:])

 

결과 값

['ok', 'fly', 'oli']

 

마찬가지로 세번째 항목부터 마지막 항목까지 슬라이스를 만들 때는 인덱스 2에서 시작하고 두번째 인덱스를 생략하면 됩니다. 

이 문법을 쓰면 리스트의 길이와 상관없이 원하는 지점부터 시작해 끝까지 모든 항목을 꺼낼 수 있습니다. 

 

 

 

예제40)

dogs = ['tim', 'merry', 'ok', 'fly', 'oli']
print(dogs[-3:])

 

결과 값

['ok', 'fly', 'oli']

 

마지막 3개가 포함된 슬라이스를 만든다면 위의 예제40과 같이 작성하면 됩니다. 

 

 

 

728x90
반응형
그리드형

댓글