Language/Python

Python 강의 정리 5. 리스트 뒤집기, enumerate() 함수

Jen'_' 2021. 5. 2. 21:54
반응형

 

파이썬 리스트 뒤집기

 

1. 슬라이싱

리스트명[::-1]

- 원본 리스트는 바뀌지 않는다

a = [1,2,3,4,5]
b = a[::-1]
print(b)
---------
(result)
[5, 4, 3, 2, 1]

 

 

2. reverse() 메서드

- 파이썬 리스트 메서드 중에 하나인 reversed() 메서드를 사용한다

- 원본 리스트가 바뀐다

a = [1,2,3,4,5]
a.reverse()
print(a)
------
(result)
[5, 4, 3, 2, 1]

 

 

3. 내장함수 reversed()

- 주어진 시퀀스 (리스트, 튜플 등)에 대해 순서가 뒤집어진 reversed iterator 객체의 형태로 반환하기 때문에 내장함수 list()를 이용해서 리스트 자료형으로 변환해준다

- 원본 리스트는 바뀌지 않는다

 

a= [1,2,3,4,5]
print(reversed(a))   # 메모리 주소값 반환
print(list(reversed(a)))  # list()로 iterable로 만들어줘야한다

b = "overwatch"
print(''.join(reversed(b)))
----
(result)
<list_reverseiterator object at 0x00000139A0C04160>
[5, 4, 3, 2, 1]
hctawrevo

+

# reversed()는 주로 for문에서 쓰임
for i in reversed("안녕하세요"):
    print("-", i)
print()

# 잘못된 사용 예
temp = reversed([1,2,3,4,5,6])
for i in temp:
    print("첫 번째 반복문: {}".format(i))
for i in temp:   
    print("두 번째 반복문: {}".format(i))   # 출력이 안된다
print()

# 바른 사용 예
temp = [1,2,3,4,5,6]
for i in reversed(temp):
    print("첫 번째 반복문: {}".format(i))
for i in reversed(temp):   
    print("두 번째 반복문: {}".format(i))   # 출력이 된다
print()
---------
(result)
- 요
- 세
- 하
- 녕
- 안

첫 번째 반복문: 6
첫 번째 반복문: 5
첫 번째 반복문: 4
첫 번째 반복문: 3
첫 번째 반복문: 2
첫 번째 반복문: 1

첫 번째 반복문: 6
첫 번째 반복문: 5
첫 번째 반복문: 4
첫 번째 반복문: 3
첫 번째 반복문: 2
첫 번째 반복문: 1
두 번째 반복문: 6
두 번째 반복문: 5
두 번째 반복문: 4
두 번째 반복문: 3
두 번째 반복문: 2
두 번째 반복문: 1

리스트의 최대값, 최솟값, 합

# min(): 리스트 내부의 최솟값 찾기
# max(): 리스트 내부의 최대값 찾기
# sum(): 리스트 내부의 값을 모두 더함
numbers=[103,52,279,11,34]
print("최솟값: ", min(numbers))
print("최댓값: ", max(numbers))
print("합: ", sum(numbers))
print()

 

enumerate() 함수

- 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate iterator 객체를 돌려준다.

- enumerate를 for문과 함께 사용하면 자료형의 현재 순서(index)와 그 값을 쉽게 알 수 있다.

 

list_a=["diva","ana","zenyata"]
print(enumerate(list_a))   # 메모리값 반환
print(list(enumerate(list_a)))
print()

for i, value in enumerate(list_a):
    print("{}번째 요소는 {}입니다".format(i,value))
--------
(result)
<enumerate object at 0x000001FA36CE0C80>
[(0, 'diva'), (1, 'ana'), (2, 'zenyata')]

0번째 요소는 diva입니다
1번째 요소는 ana입니다
2번째 요소는 zenyata입니다
반응형