[Python] :: 튜플(tuple), 람다(lambda)

2023. 7. 5. 10:51·[Programming Language]/[Python]

◎ 튜플(tuple)

  튜플이란 리스트와 비슷한 자료형이지만 한 가지 중요한 차이가 존재한다. 이미 할당된 값의 수정이나 추가, 삭제가 가능한 리스트와는 달리 튜플은 모두 불가능하다. 튜플은 보통 함수와 사용된다. 그 형태는 아래와 같다.

(데이터, 데이터, ..., 데이터)

 

1) 튜플의 생성 및 출력

# 튜플 생성
test_tuple = (1, 2, 3, 4, 5)

# 튜플 출력
# 출력 1
print("test_tuple:", test_tuple)
# 출력 2
for i in test_tuple:
    print(i)
# 출력 3
for i in range(len(test_tuple)):
    print("test_tuple[{}]: {}".format(i, test_tuple[i]))

  기본 형태의 튜플을 생성해보고 이를 3가지 방법으로 출력해보았다. 튜플도 리스트와 동일하게 인덱스의 사용이 가능하다.

 

1-1) 튜플의 수정

# 튜플 생성
test_tuple = (1, 2, 3, 4, 5)

# 튜플 수정
test_tuple[0] = 100

  튜플의 첫번째 요소를 100으로 수정하려 했으나 위와 같은 오류가 발생하였다.

 

1-2) 튜플의 추가

# 튜플 생성
test_tuple = (1, 2, 3, 4, 5)

# 튜플 추가
test_tuple[5] = 6

  튜플에 정수 6을 추가하려 했으나 역시 오류가 발생하였다.

 

1-3) 튜플의 삭제

# 튜플 생성
test_tuple = (1, 2, 3, 4, 5)

# 튜플 삭제
del test_tuple[0]

   튜플의 삭제 역시 오류가 발생하고 있다. 따라서 한번 생성된 튜플은 값이 수정되거나 추가되거나 삭제될 수 없다는 것을 확인할 수 있다.

 

2) 튜플의 사용

[name, age] = ["홍길동", 24]
(a, b) = (10, 20)

print("name:", name)
print("age:", age)
print("a:", a)
print("b:", b)

  파이썬에서 튜플과 리스트는 위와 같이 특이한 형태로 값을 할당할 수 있다. 또한 튜플은 굳이 괄호를 사용하지 않아도 튜플로 인식이 가능하다면 괄호를 생략할 수도 있다.

test_tuple = 1, 2, 3, 4, 5

print("type:", type(test_tuple))
for i in test_tuple:
    print(i)

  test_tuple에 값 1, 2, 3, 4, 5를 괄호가 없는 형태로 할당하였지만 이를 확인해보면 tuple 자료형인 것을 확인할 수 있다. 이처럼 괄호가 생략된 형태의 튜플은 많이 사용되는 편이다. 튜플을 사용하면 변수 값의 교환도 편리하게 가능하다. C언어에서는 변수 값의 교환을 위해선 추가 임시 변수가 필요했지만 파이썬은 그럴 필요가 없다.

a, b = 100, 200
print("Before:", a, b)
print()

a, b = b, a
print("After:", a, b)

  a, b = b, a 이 한줄 만으로 편리하게 값의 교환이 가능한 것을 확인할 수 있다. 튜플을 사용하면 함수에서 값을 반환할 때 여러 개를 반환하는 것이 가능해진다.

def fun():
    return(1, 2, 3, 4, 5)

test_tuple = fun()
print("type:", type(test_tuple))
print("test_tuple:", test_tuple)


◎ 람다(lambda)

  람다는 함수를 보다 간결하고 편리하게 사용할 수 있는 기능이다. 즉, 람다는 '함수를 간단하고 쉽게 선언하는 방법'이다.람다의 형태는 다음과 같다.

lambda 매개변수: 리턴값

  람다를 사용하지 않았을 때와 람다를 사용했을 때의 차이를 살펴보자. 먼저 람다를 사용하지 않은 경우이다.

def add(x, y):
    return x+y

def sub(x, y):
    return x-y

print("add:", add(5, 3))
print("sub:", sub(5, 3))

  이제 위 코드에 람다를 적용해보자.

add = lambda x, y: x+y
sub = lambda x, y: x-y

print("add:", add(5, 3))
print("sub:", sub(5, 3))

  동일한 내용임에도 불구하고 함수의 선언이 훨씬 간결해짐에 따라 코드가 간결해지게 되었다.

저작자표시 비영리 변경금지 (새창열림)

'[Programming Language] > [Python]' 카테고리의 다른 글

[Python] :: 예외 처리 - syntax error, runtime error(exception), 조건문 예외 처리, try 구문 예외 처리  (0) 2023.07.07
[Python] :: 파일 처리(파일 입출력) - open(), close(), read(), write(), with 키워드  (0) 2023.07.06
[Python] :: 함수, 매개변수(가변 매개변수, 기본 매개변수, 키워드 매개변수), 함수 호출 형태, 리턴(return)  (0) 2023.07.04
[Python] :: 이터러블(Iterable) 및 이터레이터(Iterator)와 제너레이터(Generator)  (0) 2023.07.03
[Python] :: 리스트, 딕셔너리와 관련된 함수 - min(), max(), sum(), reversed(), enumerate(), items() / 리스트 내부 'for문 + 조건문'  (0) 2023.06.26
'[Programming Language]/[Python]' 카테고리의 다른 글
  • [Python] :: 예외 처리 - syntax error, runtime error(exception), 조건문 예외 처리, try 구문 예외 처리
  • [Python] :: 파일 처리(파일 입출력) - open(), close(), read(), write(), with 키워드
  • [Python] :: 함수, 매개변수(가변 매개변수, 기본 매개변수, 키워드 매개변수), 함수 호출 형태, 리턴(return)
  • [Python] :: 이터러블(Iterable) 및 이터레이터(Iterator)와 제너레이터(Generator)
Semincolon
Semincolon
It seems small, that semicolon is a big deal.
  • Semincolon
    Semincolon
    Semincolon
  • 전체
    오늘
    어제
    • 분류 전체보기 (116) N
      • [Programming Language] (76) N
        • [JSP] (4) N
        • [Swift] (23)
        • [SwiftUI] (16)
        • [Python] (22)
        • [C언어] (6)
        • [Kotlin] (4)
        • [C#] (1)
      • [Frame Work] (5)
        • [Flutter] (4)
        • [Spring Boot] (1)
      • [Projects] (3)
        • [Android][Kotlin] 공유 캘린더(20.. (1)
        • [Unity] 인내의 숲(2024.03) (2)
      • [DB] (4) N
        • - Oracle (4) N
      • [Programmers] (21) N
        • - SQL (21) N
      • [ETC] (2)
      • Today's Learning (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Semincolon
[Python] :: 튜플(tuple), 람다(lambda)
상단으로

티스토리툴바