산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 튜플

파이썬 튜플

이 기사에서는 Python 튜플에 대한 모든 것을 배울 것입니다. 구체적으로 튜플이 무엇인지, 어떻게 생성하는지, 언제 사용하는지, 다양한 방법을 숙지하고 있어야 하는지 알려주세요.

동영상:Python 목록 및 튜플

파이썬의 튜플은 목록과 비슷합니다. 둘의 차이점은 한 번 할당된 튜플의 요소는 변경할 수 없지만 목록의 요소는 변경할 수 있다는 것입니다.

<시간>

튜플 생성

튜플은 모든 항목(요소)을 괄호 () 안에 배치하여 생성됩니다. , 쉼표로 구분. 괄호는 선택 사항이지만 괄호를 사용하는 것이 좋습니다.

튜플은 여러 항목을 가질 수 있으며 다양한 유형(정수, 부동 소수점, 목록, 문자열 등)일 수 있습니다.

# Different types of tuples

# Empty tuple
my_tuple = ()
print(my_tuple)

# Tuple having integers
my_tuple = (1, 2, 3)
print(my_tuple)

# tuple with mixed datatypes
my_tuple = (1, "Hello", 3.4)
print(my_tuple)

# nested tuple
my_tuple = ("mouse", [8, 4, 6], (1, 2, 3))
print(my_tuple)

출력

()
(1, 2, 3)
(1, 'Hello', 3.4)
('mouse', [8, 4, 6], (1, 2, 3))

괄호를 사용하지 않고 튜플을 만들 수도 있습니다. 이것을 튜플 패킹이라고 합니다.

my_tuple = 3, 4.6, "dog"
print(my_tuple)

# tuple unpacking is also possible
a, b, c = my_tuple

print(a)      # 3
print(b)      # 4.6
print(c)      # dog

출력

(3, 4.6, 'dog')
3
4.6
dog

하나의 요소로 튜플을 만드는 것은 약간 까다롭습니다.

괄호 안에 하나의 요소를 갖는 것만으로는 충분하지 않습니다. 실제로 튜플임을 나타내려면 후행 쉼표가 필요합니다.

my_tuple = ("hello")
print(type(my_tuple))  # <class 'str'>

# Creating a tuple having one element
my_tuple = ("hello",)
print(type(my_tuple))  # <class 'tuple'>

# Parentheses is optional
my_tuple = "hello",
print(type(my_tuple))  # <class 'tuple'>

출력

<class 'str'>
<class 'tuple'>
<class 'tuple'>
<시간>

튜플 요소 액세스

튜플의 요소에 액세스할 수 있는 다양한 방법이 있습니다.

1. 인덱싱

인덱스 연산자 []을 사용할 수 있습니다. 인덱스가 0부터 시작하는 튜플의 항목에 액세스합니다.

따라서 6개의 요소가 있는 튜플은 0에서 5까지의 인덱스를 갖습니다. 튜플 인덱스 범위(이 예에서는 6,7,...) 외부의 인덱스에 액세스하려고 하면 IndexError가 발생합니다. .

인덱스는 정수여야 하므로 float 또는 다른 유형을 사용할 수 없습니다. 그러면 TypeError이 됩니다. .

마찬가지로 중첩 튜플은 아래 예와 같이 중첩 인덱싱을 사용하여 액세스합니다.

# Accessing tuple elements using indexing
my_tuple = ('p','e','r','m','i','t')

print(my_tuple[0])   # 'p' 
print(my_tuple[5])   # 't'

# IndexError: list index out of range
# print(my_tuple[6])

# Index must be an integer
# TypeError: list indices must be integers, not float
# my_tuple[2.0]

# nested tuple
n_tuple = ("mouse", [8, 4, 6], (1, 2, 3))

# nested index
print(n_tuple[0][3])       # 's'
print(n_tuple[1][1])       # 4

출력

p
t
s
4
<시간>

2. 네거티브 인덱싱

Python은 시퀀스에 대해 음수 인덱싱을 허용합니다.

-1의 인덱스는 마지막 항목을 나타내고 -2는 두 번째 마지막 항목을 나타내는 식입니다.

# Negative indexing for accessing tuple elements
my_tuple = ('p', 'e', 'r', 'm', 'i', 't')

# Output: 't'
print(my_tuple[-1])

# Output: 'p'
print(my_tuple[-6])

출력

t
p
<시간>

3. 슬라이싱

슬라이싱 연산자 콜론 :을 사용하여 튜플의 항목 범위에 액세스할 수 있습니다. .

# Accessing tuple elements using slicing
my_tuple = ('p','r','o','g','r','a','m','i','z')

# elements 2nd to 4th
# Output: ('r', 'o', 'g')
print(my_tuple[1:4])

# elements beginning to 2nd
# Output: ('p', 'r')
print(my_tuple[:-7])

# elements 8th to end
# Output: ('i', 'z')
print(my_tuple[7:])

# elements beginning to end
# Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
print(my_tuple[:])

출력

('r', 'o', 'g')
('p', 'r')
('i', 'z')
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

슬라이싱은 아래와 같이 요소 사이에 인덱스를 고려하여 가장 잘 시각화할 수 있습니다. 따라서 범위에 액세스하려면 튜플에서 해당 부분을 슬라이스할 인덱스가 필요합니다.

<그림> <시간>

튜플 변경

목록과 달리 튜플은 변경할 수 없습니다.

이것은 튜플의 요소가 일단 할당되면 변경할 수 없음을 의미합니다. 그러나 요소 자체가 목록과 같이 변경 가능한 데이터 유형인 경우 중첩된 항목이 변경될 수 있습니다.

튜플을 다른 값에 할당할 수도 있습니다(재할당).

# Changing tuple values
my_tuple = (4, 2, 3, [6, 5])


# TypeError: 'tuple' object does not support item assignment
# my_tuple[1] = 9

# However, item of mutable element can be changed
my_tuple[3][0] = 9    # Output: (4, 2, 3, [9, 5])
print(my_tuple)

# Tuples can be reassigned
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

# Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
print(my_tuple)

출력

(4, 2, 3, [9, 5])
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

+을 사용할 수 있습니다. 두 개의 튜플을 결합하는 연산자. 이것을 연결이라고 합니다. .

반복할 수도 있습니다. *을 사용하여 주어진 횟수만큼 튜플의 요소 연산자.

+ 둘 다 및 * 작업 결과 새 튜플이 생성됩니다.

# Concatenation
# Output: (1, 2, 3, 4, 5, 6)
print((1, 2, 3) + (4, 5, 6))

# Repeat
# Output: ('Repeat', 'Repeat', 'Repeat')
print(("Repeat",) * 3)

출력

(1, 2, 3, 4, 5, 6)
('Repeat', 'Repeat', 'Repeat')
<시간>

튜플 삭제

위에서 논의한 것처럼 튜플의 요소를 변경할 수 없습니다. 이는 튜플에서 항목을 삭제하거나 제거할 수 없음을 의미합니다.

그러나 del 키워드를 사용하여 튜플을 완전히 삭제할 수 있습니다.

# Deleting tuples
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

# can't delete items
# TypeError: 'tuple' object doesn't support item deletion
# del my_tuple[3]

# Can delete an entire tuple
del my_tuple

# NameError: name 'my_tuple' is not defined
print(my_tuple)

출력

Traceback (most recent call last):
  File "<string>", line 12, in <module>
NameError: name 'my_tuple' is not defined
<시간>

튜플 메소드

항목을 추가하거나 항목을 제거하는 메소드는 튜플에서 사용할 수 없습니다. 다음 두 가지 방법만 사용할 수 있습니다.

Python 튜플 메서드의 몇 가지 예:

my_tuple = ('a', 'p', 'p', 'l', 'e',)

print(my_tuple.count('p'))  # Output: 2
print(my_tuple.index('l'))  # Output: 3

출력

2
3
<시간>

기타 튜플 작업

1. 튜플 멤버십 테스트

in 키워드를 사용하여 항목이 튜플에 있는지 여부를 테스트할 수 있습니다. .

# Membership test in tuple
my_tuple = ('a', 'p', 'p', 'l', 'e',)

# In operation
print('a' in my_tuple)
print('b' in my_tuple)

# Not in operation
print('g' not in my_tuple)

출력

True
False
True
<시간>

2. 튜플 반복

for을 사용할 수 있습니다. 루프를 사용하여 튜플의 각 항목을 반복합니다.

# Using a for loop to iterate through a tuple
for name in ('John', 'Kate'):
    print("Hello", name)

출력

Hello John
Hello Kate
<시간>

목록에 대한 튜플의 장점

튜플은 목록과 매우 유사하기 때문에 둘 다 비슷한 상황에서 사용됩니다. 그러나 목록에 대해 튜플을 구현하면 특정 이점이 있습니다. 다음은 주요 이점 중 일부입니다.


python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. 파이썬 사전
  6. 파이썬 반복자
  7. 파이썬 클로저
  8. 파이썬 날짜 시간
  9. 파이썬 - 개요
  10. 파이썬 - 숫자