データ構造2


データ構造2


トーン

t = (1, 2, 3, 4, 1, 2) 
print(t)
 > (1, 2, 3, 4, 1, 2)

print(type(t))
 > <class 'tuple'>
デフォルトでは、tupleはカッコ()を使用する必要はありません.

tuple-2、index、slice

t = (1, 2, 3, 4, 1, 2) 
t[0] = 100
 ! error : 문자열처럼 수치변경 지원이 안됨, TypeError: 'tuple' object does not support item assignment, but 다른것들은 다 가능
 
print(t[0])
 > 1

print(t[-1])
 > 2
 
print(t[2:5]) # slice
 > (3, 4, 1)

test = 1,2,3,4,5
print(test[2:5])
 > (3, 4, 5)  # 소괄호 하지 않아도 튜플로 줌

t = (1, 2, 3, 4, 1, 2) 
print(t.index(1)) # 1을 찾아라
 > 0
 
print(t.index(1, 1)) # 1을 인덱스 1부터 찾아라
 > 4
 
print(t.count(1)) # 1은 몇개인가 ?
 > 2
 
print(help)を使用して使用可能な関数を確認する

Tuple-3、数値変更


結論からtupleでは数値を変更できません
ただし、図例ではリストを使用できます.
t = ([1, 2, 3], [4, 5, 6])
print(t)
 > ([1, 2, 3], [4, 5, 6])

t[0] = [1] # 튜플 t의 0번째를 다른 리스트로 바꿔
 ! error : 튜플 t의 0번째를 다른 리스트로 바꾸지 못함, TypeError: 'tuple' object does not support item assignment

print(t[0][0]) # 튜플 t의 0번째의 0번째 값은 ?
 > 1
 
t[0][0] = 100 # 튜플 t의 0번째의 0번째를 100으로 바꿔
print(t)
 > ([100, 2, 3], [4, 5, 6])

tuple-4,解包

num_tuple = (10, 20) 
print(num_tuple)
 > (10, 20)
 
x, y = num_tuple # 튜플 꺼내기, unpacking
print(x, y)
 > 10 20
 
x, y = (10, 20)
print(x, y)
 > 10 20
 
x, y = 10, 20 #튜플 사용시 소괄호 사용하지 않아도 됨(왜? 파이썬이 자동으로 튜플로 인식하기떄문). 보통 변수 선언할 때 사용함
print(x, y)
 > 10 20
 
# 보통 이럴때 사용
min, max = 0, 100
print(min, max)

# 안좋은 예 
a, b, c, d, e, f = 'Mike', '1', '1', '1', 'e', 'f'
# 이렇게 변수가 많으면 다음과 같이 줄바꿈하여 사용
a = 'mike'
b = '1'
... 
f = 'f'

# 언패킹을 이용하여 변수바꾸기
a = 100
b = 200
a, b = b, a
print(a, b) #
 > 200 100
 
# 언패킹 사용 안하면 아래와 같이 고통받음
i = 10
j = 20
tmp = i
i = j
j = tmp
print(i, j) 
 > 20 10

tuple-5、使用例


調音器はどこに使いますか.
question = ('A', 'B', 'C')

answer = []
answer.append('A')
answer.append('C')
print(answer)
 > ['A', 'C']
質問がある場合は、3つの答えのうち2つを選択します.
開発者がうっかり質問を回答に追加しないように、
調音を使う?どうしたんですか.
デフォルトではtupleはappendをサポートしていないため、エラーを事前に認識できます.
(AttributeError: 'tuple' object has no attribute 'append')
また、問題をリストにリストすると、問題の選択範囲が増える可能性があります.