Python 튜플: 완벽한 안내서

10714 단어 tutorialwebdevpython
튜플은 Python lists 과 매우 유사한 Python의 중요한 데이터 구조입니다. 튜플과 리스트의 주요 차이점은 튜플을 수정할 수 없다는 것입니다. 일단 생성되면 고정되고 변경할 수 없습니다. 튜플은 목록보다 빠르므로 데이터가 변경되지 않는다는 것을 알고 있다면 올바른 방법입니다. 튜플은 변경되지 않을 것으로 알고 있는 고정 항목 목록을 반복하는 데 자주 사용됩니다.

이 가이드에서는 튜플을 사용하는 방법과 튜플을 사용하여 수행할 몇 가지 방법 및 작업에 대해 설명합니다. 시작하려면 새 튜플을 정의해 보겠습니다.

myTuple = ("my", "new", "tuple")
print(myTuple) # ('my', 'new', 'tuple')


대괄호 없이 정의되는 튜플을 볼 수도 있습니다. 쉼표로 구분된 값 목록도 자동으로 튜플이 됩니다.


myTuple = "my", "new", "tuple"
print(myTuple) # ('my', 'new', 'tuple')


튜플을 변경하려고 하면 오류가 발생합니다.

myTuple = ("my", "new", "tuple")
myTuple[0] = "your" # TypeError: 'tuple' object does not support item assignment


그러나 예상할 수 있듯이 인덱스 0에 있는 항목을 참조하기 위해 myTuple[0] 구문을 사용하여 튜플 데이터에 액세스할 수 있습니다.

튜플은 중복을 포함할 수 있으므로 Python sets과 같은 고유성에 의해 제한되지 않습니다.

myTuple = ("my", "new", "tuple", "tuple")
print(myTuple) #  ('my', 'new', 'tuple', 'tuple' )


마지막으로 튜플도 목록처럼 중첩될 수 있습니다.

myTuple = ( ("nested", "tuple"), "my", "new", "tuple", "tuple")


튜플을 사용하여 멤버십 확인



Python sets 과 마찬가지로 innot in 키워드를 사용하는 튜플을 사용하여 구성원 자격을 테스트할 수 있습니다. 예를 들어, 아래에서 applefruits의 튜플에 있는지 확인합니다.

fruits = ("apple", "pear", "strawberry")

print("apple" in fruits) # True
print("apple" not in fruits) # False


튜플 결합



튜플을 수정할 수 없기 때문에 튜플의 업데이트된 버전을 만들려면 튜플을 결합해야 합니다. 다음과 같이 함께 추가하면 됩니다.

tupleOne = ("one", "two")
tupleTwo = ("three", "four")
tupleThree = tupleOne + tupleTwo
print(tupleThree) # ("one", "two", "three", "four")


튜플 정렬



튜플은 Python lists 과 같이 정렬되므로 튜플을 정렬할 수도 있습니다. 그러나 튜플에는 메서드sort()가 없으므로 sorted() 함수를 사용해야 합니다. sort() 메서드를 사용할 수 없는 이유는 무엇입니까? 튜플은 불변이기 때문에! 따라서 sorted()를 사용하여 새 튜플을 정의해야 합니다.

myTuple =  ("a", "c", "e", "b", "f", "d", "g", "z", "w", "x")
myNumberTuple = (1, 3, 5, 2, 7, 4, 6)

newTuple = sorted(myTuple)
newNumberTuple = sorted(myNumberTuple)

print(newTuple) # ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'w', 'x', 'z')
print(newNumberTuple) # (1, 2, 3, 4, 5, 6, 7)

list.sort() 와 마찬가지로 정수 및 문자열과 같은 여러 유형으로 정렬하려고 하면 결국 오류가 발생합니다. 여기서 sorted()의 추가 인수를 사용하여 목록을 정렬해야 합니다.
  • key는 목록 콘텐츠
  • 를 비교하는 데 사용할 숫자를 제공합니다.
  • reverse true로 설정하면 순서가 반대로 됩니다.

  • 예를 들어 튜플의 시작 부분에 b인 모든 값을 넣으려면 다음과 같이 시도할 수 있습니다.

    def isB(letter):
        if(letter == "b"):
            return 1
        else:
            return 0
    
    myTuple = ("b", "c", "b", 5, "f", "b", 2, "z", "a", "x")
    
    newTuple = sorted(myTuple, key=isB, reverse=True)
    
    print(newTuple) # ['b', 'b', 'b', 'c', 5, 'f', 2, 'z', 'a', 'x']
    


    여기에서 튜플의 각 항목을 함수에 전달하기 위해 isB에서 사용되는 함수sorted()를 정의합니다. 튜플의 항목이 b 인 경우 해당 항목의 순서는 1 로 설정되고 그렇지 않으면 0 입니다. 이렇게 하면 영숫자 순서 이외의 조건에 따라 목록을 주문할 수 있습니다.

    결론



    읽어 주셔서 감사합니다. 아래에서 Python 데이터 수집에 대해 자세히 알아볼 수 있습니다.
  • Python Data Collections
  • Python Data Collections: Lists
  • Python 데이터 컬렉션: 튜플
  • Python Data Collections: Sets
  • Python Data Collections: Dictionaries
  • 좋은 웹페이지 즐겨찾기