Tuple: 

파이썬에서 List와 유사한 Tuple 이란 객체가 존재 합니다.

이 둘간의 가장 큰 차이점은 Tuple은 일단 한번 생성이 되면 변경이 불가능 하다는 것 입니다.

한번 예제를 통해 알아 보도록 하겠습니다.

 

Creating Tuples

List 생성시 []를 사용한다는것 기억 하시나요? Tuple은 ()를 사용하여 생성 하고, () 없이 생성 또한 가능 합니다.

Example:

# Creating a tuple with parentheses
fruits = ("apple", "banana", "cherry")

# Creating a tuple without parentheses
colors = "red", "green", "blue"

 

 

Accessing Tuple Elements

Tuple 인자에 접근하는 방법은 List와 동일하게 []를 사용합니다.

Example:

print(fruits[1])  # Output: banana
print(colors[2])  # Output: blue

 

 

Immutability of Tuples

앞서 말씀 드린 바와 같이, Tuple은 변경 불가하기 때문에, 아래와 같이 변경을 시도하는 경우 파이썬에서 에러를 발생 시키게 됩니다.

Example:

# This will result in an error
# fruits[0] = "strawberry"

 

 

Why Use Tuples?

그렇다면 List를 쓰면 될것 같은데, Tuple을 써야 하는 경우는 어떤 경우일까요?

  1. Efficiency:
    Tuple은 List에 비해 Memory 효율성이 높습니다.
    Python은 Tuple이 생성 될때 크기가 변하지 않을 것을 알기 때문에, 메모리를 고정 할수 있고, 최적화가 가능 합니다.
    List의 경우 향후 항목들이 추가 되거나, 제거 되는 것이 가능하기 때문에 이러한 최적화가 불가능 합니다.
    또한 인자를 Searching하는데 있어서, List보다 빠르게 수행이 가능 합니다.
  2. Safety:
    코드를 개발하다 보면, 의도적으로 User가 변경하지 못하도록 만들어야 하는 변수들이 있습니다.
    C언어 에서는 이를 "const"라는 keyword를 통해서 해결 했는데, Python에서는 이런 경우, Tuple이 사용 가능 합니다.

이러한 이유로, 만약 인자들이 불변하다면, List보다는 Tuple을 사용하는게 더 효과적 입니다.

 

 

Tuple Methods

Tuple은 List에 비해 제공하는 Method가 한정적 이지만, Tuple에서 제공하는 몇가지 Method들을 살펴보면 다음과 같습니다.

  1. count(arg): arg에 해당하는 항목이 몇개 있는지 반환
    Example:
    my_tuple = (1, 2, 3, 1, 1, 4, 5)
    print(my_tuple.count(1))  # Output: 3
  2. index(arg): arg에 해당하는 항목이 몇번째 있는지 반환 하며, 여러개 있는 경우 가장 앞의 인자를 반환함.
    Example:
    my_tuple = (1, 2, 3, 4, 5)
    print(my_tuple.index(3))  # Output: 2​

 

Tuple Operations

Tuple 자체는 변경이 불가능 하지만, operation을 이용하여 Tuple들을 합치거나, 반복하는 새로운 Tuple을 생성이 가능 하며, Tuple안에 item이 있는지 확인도 가능 합니다.

Example:

# Concatenation
new_tuple = fruits + colors
print(new_tuple)  # Output: ('apple', 'banana', 'cherry', 'red', 'green', 'blue')

# Repetition
repeated_tuple = fruits * 2
print(repeated_tuple)  # Output: ('apple', 'banana', 'cherry', 'apple', 'banana', 'cherry')

# Check if an item exists
print("apple" in fruits)  # Output: True

 

 

오늘은 List객체와 유사하지만, 다른 특성을 가지고 있는 Tuple 객체에 대해 알아 보았습니다.

 

감사합니다.

'Python 기초 > 3. List 객체' 카테고리의 다른 글

3. Lists Slicing  (0) 2023.12.19
2. List Methods  (0) 2023.12.18
1. List Class 소개  (0) 2023.12.17

Slicing Lists in Python:

파이썬에서 슬라이싱은 리스트에서 특정 그룹의 요소들을 검색하는 유연한 도구이며, 단일 요소를 얻는 것에만 국한되지 않습니다.

슬라이싱을 사용하면 인덱스 범위를 지정하여 리스트의 일부를 추출할 수 있습니다.

리스트 슬라이싱의 문법은 list[start:stop:step]입니다.

여기서 start는 슬라이스가 시작되는 인덱스, stop은 슬라이스가 끝나는 인덱스-1 , step은 각 반복 후에 앞으로 이동할 인덱스의 개수나 크기입니다.

각 구성 요소를 예시와 함께 살펴보겠습니다:

 

Example:

다음은 리스트의 처음부터 5번 index전까지 추출하는 예제 입니다.

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[:5])  # Output: [0, 1, 2, 3, 4]

 

Example:

다음은 리스트의 5번 index부터 끝까지 추출하는 예제 입니다.

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[5:])  # Output: [5, 6, 7, 8, 9]

 

Example:

다음은 2번 인덱스를 시작으로 8-1번 인덱스까지 2씩 증가하여 추출하는 예제 입니다.

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

# Get every second element between index 2 and index 8
print(numbers[2:8:2])  # Output: [2, 4, 6]

 

Example:

다음은 마지막 3가지 항목을 추출하는 예제 입니다.

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

# Get the last three items
print(numbers[-3:])  # Output: [7, 8, 9]

 

Example:

다음은 모든 항목을 reverse하여 추출하는 예제 입니다.

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

# Reverse the list using a negative step
print(numbers[::-1])  # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

 

 

Example:

다음은 index 3부터 index 8-1까지를 추출하는 예제 입니다.

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

# Get the middle five items
middle_five = numbers[3:8]
print(middle_five)  # Output: [3, 4, 5, 6, 7]

 

 

Example:

다음은 처음부터 끝까지 세번째 항목마다 추출하는 예제 입니다.

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

# Get every third item
print(numbers[::3])  # Output: [0, 3, 6, 9]

 

 

Conclusion:

오늘은 Python List에서 사용할수 있는 Slicing에 대해 알아 보았습니다.

유용하게 사용하시기 바랍니다.

 

'Python 기초 > 3. List 객체' 카테고리의 다른 글

4. Tuple 객체  (0) 2023.12.19
2. List Methods  (0) 2023.12.18
1. List Class 소개  (0) 2023.12.17

 

오늘은 Python List의 Method중 많이 사용하는 Method들에 대해 자세히 알아 보도록 하겠습니다.

 

 

append() :

append()를 사용하여 리스트 끝에 단일 요소를 추가할 수 있습니다.

Example:

fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)  # Output: ['apple', 'banana', 'cherry']

 

 

extend():

extend()를 사용하여 다른 리스트 또는 반복 가능한 모든 요소(예: 튜플, 세트)를 현재 리스트에 병합할 수 있습니다.

Example:

more_fruits = ["mango", "grape"]
fruits.extend(more_fruits)
print(fruits)  # Output: ['apple', 'banana', 'cherry', 'mango', 'grape']

 

 

insert():

insert() 메소드를 사용하여 특정 인덱스에 요소를 삽입할 수 있습니다.

Example:

# fruit : ['apple', 'banana', 'cherry', 'mango', 'grape']
fruits.insert(1, "orange")
print(fruits)  # Output: ['apple', 'orange', 'banana', 'cherry', 'mango', 'grape']

 

 

remove() :

값으로 요소를 제거하려면 remove()를 사용합니다. 만약 요소를 찾을 수 없다면, 파이썬은 오류를 발생시킵니다.

Example:

# fruits : ['apple', 'orange', 'banana', 'cherry', 'mango', 'grape']
fruits.remove("banana")
print(fruits)  # Output: ['apple', 'orange', 'cherry', 'mango', 'grape']

 

하지만 코드가 좀더 robust하게 하기 위해서는, 미리 요소가 존재하는지 확인하는 코드가 있으면 좋겠죠?

다음은 list안에 요소가 존재하는지 확인하는 코드 입니다.

fruits = ["apple", "banana", "cherry"]

# 제거하고자 하는 요소
item_to_remove = "banana"

# 요소가 리스트에 있는지 확인
if item_to_remove in fruits:
    fruits.remove(item_to_remove)
    print(f"{item_to_remove}가 리스트에서 제거되었습니다.")
else:
    print(f"{item_to_remove}는 리스트에 존재하지 않습니다.")

print(fruits)  # 최종 리스트 출력

이 코드는 item_to_remove 변수에 저장된 요소가 fruits 리스트에 있는지 확인합니다. 만약 요소가 리스트에 있다면 remove() 메소드를 사용하여 제거하고, 없다면 사용자에게 해당 요소가 리스트에 없음을 알리는 메시지를 출력합니다.

 

pop():

pop()은 특정 인덱스에서 요소를 제거하고 그 요소를 반환합니다. 인덱스를 지정하지 않으면 마지막 항목을 제거하고 반환합니다.

Example:

# fruits : ['apple', 'orange', 'cherry', 'mango', 'grape']
last_fruit = fruits.pop()
print(last_fruit)  # Output: 'grape'
print(fruits)      # Output: ['apple', 'orange', 'cherry', 'mango']

 

clear() :

모든 항목을 제거하려면 clear()를 사용합니다.

Example:

fruits.clear()
print(fruits)  # Output: []

 

index() :

index()를 사용하여 요소의 첫 번째 발생 인덱스를 찾을 수 있습니다. 동일한 요소가 여러개 있다고 하더라도, 첫번째 인덱스만 리턴합니다.

Example:

# fruits : ['apple', 'orange', 'cherry', 'mango']
index_of_cherry = fruits.index("cherry")
print(index_of_cherry)  # Output: 2

 

count() :

count() 메소드는 리스트에서 값이 나타나는 횟수를 반환합니다.

Example:

# fruits : ['apple', 'orange', 'cherry', 'mango']
fruits.append("apple")
print(fruits.count("apple"))  # Output: 2

 

sort() :

sort()를 사용하여 기본적으로 리스트를 오름차순으로 정렬합니다. reverse=True 인수를 전달하여 내림차순으로 정렬할 수도 있습니다.

Example:

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort()
print(numbers)  # Output: [1, 1, 2, 3, 4, 5, 6, 9]

numbers.sort(reverse=True)
print(numbers)  # Output: [9, 6, 5, 4, 3, 2, 1, 1]

 

reverse() :

reverse() 메소드는 리스트의 요소 순서를 그 자리에서 뒤집습니다.

Example:

numbers.reverse()
print(numbers)  # Output: [1, 1, 2, 3, 4, 5, 6, 9]

 

Conclusion:

오늘은 Python에서 제공하는 List 객체가 제공하는 Method들에 대해 알아 보았습니다.

그럼 모두 즐거운 코딩 하시기 바랍니다.

'Python 기초 > 3. List 객체' 카테고리의 다른 글

4. Tuple 객체  (0) 2023.12.19
3. Lists Slicing  (0) 2023.12.19
1. List Class 소개  (0) 2023.12.17

안녕하세요, 코딩 푸는 남자 입니다.

오늘은 Python에서 많이 사용하는 List 객체에 대해 소개해 드리겠습니다.

 

Lists: 

List는 Python에서 기본적으로 제공하는 자료 구조 중 하나 입니다. 기본 자료 구조이긴 하지만, 그 기능이 매우 막강하여 매우 유용하게 사용되고 있습니다.

리스트는 수정 가능한 객체이며, 데이터를 저장, 조작, 검색 하는데 매우 효율적인 기능을 제공 합니다.

 

Creating Lists:

리스트는 모든 항목(요소)를 대괄호[] 로 표현하여 생성 할수 있습니다. 한번 다음 예제를 통해 알아 보겠습니다.

Example:

# A list of integers
numbers = [1, 2, 3, 4, 5]

# A list of strings
fruits = ["apple", "banana", "cherry"]

# A mixed list
mixed = [1, "Hello", 3.14]

 

Accessing List Items:

리스트의 각 항목에 접근하기 위해서는 인덱스 번호를 사용 하면 됩니다. 앞서 만든 리스트의 항목에 접근하는 예제를 살펴 보겠습니다.

Example:

print(fruits[0]) # Output: apple
print(numbers[2]) # Output: 3

* Note : 파이썬의 인덱스는 0부터 시작 합니다.

 

Modifying Lists:

앞서 설명했듯, 리스트는 가변적 입니다.

즉 생성 후 원하는 바에 따라 수정이 가능 합니다.

다음 예시를 통해, 리스트를 수정하는 방법을 알아 보도록 하겠습니다.

Example:

fruits[1] = "blueberry"
print(fruits) # Output: ['apple', 'blueberry', 'cherry']

* fruits[1]이 "banana"에서 "blueberry"로 변경 됨을 확인 할 수 있습니다.

 

 

List Methods:

리스트가 제공하는 Method중 많이 사용하는 Method를 간단히 알아 보면 다음과 같습니다.

(*각 Method의 기능은 다음시간에 하나하나 자세히 알아 보겠습니다.)

  • append(): 리스트의 끝에 요소를 추가합니다.
  • extend(): 다른 리스트의 모든 요소를 추가합니다.
  • insert(): 정의된 인덱스에 항목을 삽입합니다.
  • remove(): 리스트에서 항목을 제거합니다.
  • pop(): 주어진 인덱스에서 요소를 제거하고 반환합니다.
  • clear(): 리스트의 모든 항목을 제거합니다.
  • index(): 첫 번째로 일치하는 항목의 인덱스를 반환합니다.
  • count(): 인수로 전달된 항목 수를 반환합니다.
  • sort(): 리스트의 항목을 오름차순으로 정렬합니다.
  • reverse(): 리스트의 항목 순서를 뒤집습니다.

 

Conclusion:

오늘은 파이썬에서 많이 사용하는 List 객체에 대해 소개해 보는 시간을 가졌습니다.

다음 시간에는 List가 제공하는 Method들에 대해 자세히 알아 보도록 하겠습니다.

 

'Python 기초 > 3. List 객체' 카테고리의 다른 글

4. Tuple 객체  (0) 2023.12.19
3. Lists Slicing  (0) 2023.12.19
2. List Methods  (0) 2023.12.18

+ Recent posts