list.reverse(), reversed(list) 차이

* reverse() 함수 : 리스트를 제자리에서 반대로 뒤집는 메서드

- 반환값이 없고, 리스트를 직접 수정한다.

따라서 list1.reverse()를 출력하려고 할 경우, 반환값이 없기 때문에 None이 출력된다.

list1 = [1, 2, 3, 4]

print(list1.reverse()) # 출력 : None

 

거꾸로 출력하려고 싶다면, 함수로써 동작을 시킨 후 직접 수정된 list1의 값을 출력해야한다.
(단, 리스트가 수정이 되기 때문에 이전의 값은 지워진다.)

list1 = [1, 2, 3, 4]

list1.reverse()

print(list1) # 출력 : [4, 3, 2, 1]

 

 

*reversed()함수 : 뒤집힌 리스트의 iterator를 반환하는 함수

- 반환값 : iterator

 이 경우 반환값이 있지만, iterator로 반환이 되어 이 또한 원하는 결과가 아닐 것이다.

list1 = [1, 2, 3, 4]

print(reversed(list1)) # 출력 : <list_reverseiterator object at 0x7909098e9900>

 

이때에는 iterator를 다시 list로 변환하여 출력해야 한다. 때문에 list()함수로 감싼 뒤에 출력할 수 있다.

list1 = [1, 2, 3, 4]

print(list(reversed(list1))) # 출력 : [4, 3, 2, 1]

 

list.sort()와 sorted(list) 함수도 동일하게 적용된다.

'Python' 카테고리의 다른 글

[파이썬] 리스트, 딕셔너리 함수  (0) 2025.01.04

리스트 관련 함수

1. .list() : 리스트 생성

2. .append(item) : 리스트 끝에 요소 추가

3. .extend([3, 4]) : 리스트 + 리스트

4. .inset(index, item) : 특정 위치에 요소 삽입

5. .remove(item) : 첫번째로 발견되는 특정 요소 제거

6. .pop(index) : 특정 위치의 요소를 제거하고 반환

7. .clear() : 모든 요소 제거

8. .count(item) : 특정 요소의 개수 반환

9. .sort() : 정렬
    reverse=True

* sort()와 sorted() 차이

 

  • list.sort()는 리스트 자체를 정렬하며 반환값이 None입니다.
  • sorted(list)는 원본 리스트는 유지하고, 정렬된 새로운 리스트를 반환합니다.

 

10. .reverse() : 리스트 순서 뒤집기

11. .copy() : 리스트 복사

12. .index(value) : 특정값이 처음으로 나타나는 인덱스 반환

 

딕셔너리 관련 함수

1. .dict() : 딕셔너리 생성

2. .keys() / .values() : 모든 키/값 반환

3. .items() : 키-값 쌍 반환

4. .get(key) : 키에 해당하는 값 반환

5. .update(other_dic) : 다른 딕셔너리를 병합

6. .pop(key) : 키에 해당하는 값을 제거하고 반환

7. .clear() : 모든 키-값 쌍 제거

8. sorted() : 정렬

my_dict = {'b':3, 'a':1, 'c':2}

print(sorted(my_dict)) #딕셔너리 키만 정렬

# key 기준 정렬
print(dict(sorted(my_dict.items())) #['a':1, 'b':3, 'c':2])

# value 기준 정렬
print(dict(sorted(my_dict.items(), key = lambda item:item[1])) #['a':1, 'c':2, 'b':3])

 

* enumerate(iterable) : (index, value) 형태의 튜플을 반환

- iterable : 리스트, 튜플, 문자열 등 반복 가능한 객체

 

* 중첩 리스트에서 값의 인덱스 찾기

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

for i, sub_list in enumerate(nested_list) :
	if 5 in sub_list :
    	col_index = sub_list.index(5)
        print(f"[{i}, {col_index}]")

'Python' 카테고리의 다른 글

[파이썬] list.reverse(), reversed(list) 차이  (1) 2025.01.09

+ Recent posts