본문 바로가기
공부/코딩

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

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

 

 

 

파이썬 기초 정리

 

 

10) 리스트 반대 순서로 출력하는 방법

리스트이름.reverse()

reverse()메서드를 사용하면 현재 순서의 반대로 정렬이 가능합니다. 이 경우 알파벳 순서에 대한 고려는 없는 것을 참고해주세요. 

 

예제20)

fruits = ['apple', 'banana', 'melon', 'cherry']
print(fruits)

fruits.reverse()
print(fruits)

 

결과 값

['apple', 'banana', 'melon', 'cherry']
['cherry', 'melon', 'banana', 'apple']

 

 

 

 

 

 

11) 리스트 길이 구하는 방법 

- len() 사용하기

 

예제21)

fruits = ['apple', 'banana', 'melon', 'cherry']
len(fruits)

 

결과 값

4

 

len()로 리스트 항목을 셀 때에는 1부터 시작하기 때문에 0에서 시작하는 에러가 발생하지 않습니다. 

 

 

 

12) 리스트 인덱스 에러 피하는 방법

예제22)

fruits = ['apple', 'banana', 'melon']
print(fruits[3])

 

결과 값

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-3-fa0f3104322a> in <module>
      1 fruits = ['apple', 'banana', 'melon']
----> 2 print(fruits[3])

IndexError: list index out of range

 

이 경우 사람들은 1부터 세지만 파이썬은 0부터 세기 때문에 여기서 3은 없습니다. 따라서 맨 뒤에 있는 것을 쉽게 얻기 위해서는 -1를 입력하여 결과 값을 얻는 것이 헷갈리지 않는 방법입니다. 

 

해결법 

fruits = ['apple', 'banana', 'melon']
print(fruits[-1])

 

결과 값

melon

 

 

 

13) 전체 리스트에 루프 실행하는 법

리스트의 모든 항목에 같은 일을 할 경우에는 for 루프를 사용합니다. 

 

예제23)

dogs = ['merry', 'dino', 'star']
for dog in dogs:
  print(dog)

 

결과 값

merry
dino
star

예제23의 for문을 해석하면 dogs 리스트의 모든 dog에 대해서(for), 해당 dog의 이름을 프린트(print)하라는 뜻입니다. 

여기서 for 루프의 for과 in 사이의 dog는 다른 이름으로 사용하여도 무방합니다. 예를들어 name이라는 이름을 붙여도 가능합니다.  이 말은 즉슨 for 루프에 개별 항목을 지칭하는 단어는 정해진 규칙이 없다는 뜻입니다. 

 

 

 

14) range() 함수 사용하기 

range() 함수는 연속된 숫자를 쉽게 생성하는데 사용합니다.

 

예제24)

for value in range(1, 5):
  print(value)

 

결과 값

1
2
3
4

 

 

- range()함수로 숫자 리스트 만드는 법

 

예제25)

numbers = list(range(1,6))
print(numbers)

 

결과 값

[1, 2, 3, 4, 5]

 

 

 

반응형

 

 

 

- range()함수로 짝수, 홀수 리스트 만드는 법

 

예제26)

even_numbers = list(range(2, 11, 2))
print(even_numbers)

 

결과 값

[2, 4, 6, 8, 10]

 

range()함수를 이용하면 주어진 범위의 숫자를 건너뛸 수 있습니다. range()에 세 번째 매개변수를 넘기면 파이썬은 이 세 번째 매개변수만큼을 더해 숫자를 생성합니다. 예를들어 1부터 10사이의 짝수만 리스트로 만들고 싶을 때는 예제26과 같이 하면 됩니다. 여기서 세 번째 매개변수는 range(2, 11, 2)중에서 마지막 2입니다. 

 

 

예제27)

odd_numbers = list(range(1,10,2))
print(odd_numbers)

 

결과 값

[1, 3, 5, 7, 9]

 

 

- range()함수로 제곱수(squares) 리스트 만드는 법

 

예제28)

squares = [] #1
for value in range(1, 11): #2
    square = value ** 2 #3
    squares.append(square) #4

print(squares) #5

 

결과 값

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

 

 

#1에서는 빈 리스트 squares를 만들면서 시작합니다. 

#2에서는 range()함수를 써서 1부터 10번까지의 루프를 실행합니다.

#3에서는 루프 안에 현재값의 제곱을 만들어 그 값을 squre 변수에 할당합니다. 

#4에서는 square의 새 값을 squares리스트에 추가합니다. 

#5에서는 마지막으로 루프가 실행을 마친 뒤 제곱수 리스트를 출력합니다. 

 

*파이썬에서는 에스터리스크 두개(**)가 지수를 나타냅니다. 

 

예제28의 코드를 더 간결하게 쓰려면 임시 변수 square를 생략하고 새 값을 바로 리스트에 추가할 수 있습니다. 예제29에서 간결한 코드를 확인할 수 있습니다. 



예제29)

squares = [] 
for value in range(1, 11): 
    squares.append(value**2) #1

print(squares)

 

결과 값

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

 

여기서 #1은 예제28 코드의 #3과 #4의 역할을 합니다. 각 값은 루프 안에서 제곱이 되고 즉시 squares리스트에 추가 됩니다. 

 

 

 

 

728x90
반응형
그리드형

댓글