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과 같이 작성하면 됩니다.
'공부 > 코딩' 카테고리의 다른 글
⛷ [파이썬] 파이썬 기초 정리 (9) : 조건테스트 / 불리언 표현식 (0) | 2022.11.08 |
---|---|
⛷ [파이썬] 파이썬 기초 정리 (8) : 리스트 _ 5 / 튜플 (0) | 2022.11.07 |
⛷ [파이썬] 파이썬 기초 정리 (6) : 리스트 _ 3 (0) | 2022.11.05 |
⛷ [파이썬] 파이썬 기초 정리 (5) : 리스트 _ 2 (0) | 2022.11.04 |
⛷ [파이썬] 파이썬 기초 정리 (4) : 리스트 _ 1 (0) | 2022.11.03 |
댓글