>백엔드 개발 >파이썬 튜토리얼 >Python - 사전, 집합, 튜플

Python - 사전, 집합, 튜플

WBOY
WBOY원래의
2024-08-12 22:35:37689검색

세 가지 모두 Python의 데이터 구조 유형이 다릅니다. 이는 다양한 데이터 컬렉션을 저장하는 데 사용됩니다. 요구 사항의 사용 사례에 따라 다음 중에서 선택해야 합니다.

Python - Dictionary, Set, Tuple

사전(dict):

  1. 사전은 키 값 쌍의 모음이며 각 키는 값과 연결됩니다
  2. 키는 고유해야 하므로 키 값을 기준으로 데이터를 검색할 수 있습니다(키 기반 검색).
  3. 사전은 3.7까지 순서가 지정되지 않으며 값이 변경될 수 있습니다. 키 이름은 직접 변경할 수 없습니다

구문:
인벤토리 = {'apple':20, 'Banana':30 , 'carrot':15, 'milk':15}
print('t1. 인벤토리 아이템', Inventory)

아래 구문을 사용하여 사전에 다른 값을 추가하거나 기존 키의 값을 수정할 수 있습니다

인벤토리['계란'] = 20
인벤토리['빵'] = 25
print('t2. 업데이트된 인벤토리 아이템', Inventory)
인벤토리['egg']= 인벤토리['egg']+5
print('t3. 재입고 후', 재고)

  • del 키워드를 사용하여 dict에서 데이터를 제거할 수 있습니다.
  • 데이터 존재 여부를 확인하려면 in 키워드를 사용하면 됩니다. 결과는 부울입니다.

인벤토리['당근']
델 인벤토리['빵']
print('t4. 삭제 후 인벤토리 업데이트', Inventory)

is_bananas_in_inventory = 인벤토리에 '바나나'
print('t5a. 인벤토리에 바나나가 있나요?', is_bananas_in_inventory)
is_oranges_in_inventory = 인벤토리에 '주황색'
print('t5b. Is Orange in Inventory', is_oranges_in_inventory)

참고:
추가적으로 dict.items()는 사전의 각 항목을 튜플로(키 값 쌍과 같은) 제공합니다. list(dict.items())를 사용하면 데이터를 목록으로 가져올 수도 있습니다. for 루프와 if 조건을 사용하면 특정 키에 액세스하여 해당 데이터에 대해 원하는 작업을 수행할 수 있습니다

for product, product_count in inventory.items():
    print('\t\t6. Product:', product, 'count is:', product_count)
print ('\t7. Iterating inventory gives tuple:', inventory.items())

#Printing only egg count(Value of key 'egg') by itearting dict
for product, product_count in inventory.items():
    if product is 'egg':
        print('\t8. Product:', product, ' its count is:', product_count)

#Printing egg count (value of key 'egg')
print('\t9. Count of apple',inventory['egg'])
Output:
        1. Inventory items {'apple': 20, 'Banana': 30, 'carrot': 15, 'milk': 15}
        2. Updated Inventory items {'apple': 20, 'Banana': 30, 'carrot': 15, 'milk': 15, 'egg': 20, 'bread': 25}
        3. After restocking {'apple': 30, 'Banana': 30, 'carrot': 15, 'milk': 15, 'egg': 25, 'bread': 25}
        4. Updated Inventory after delete {'apple': 30, 'Banana': 30, 'milk': 15, 'egg': 25}
        5a. Is banana in inventory True
        5b. Is Orange in inventory False
                6. Product: apple count is: 30
                6. Product: Banana count is: 30
                6. Product: milk count is: 15
                6. Product: egg count is: 25
        7. Iterating inventory gives tuple: dict_items([('apple', 30), ('Banana', 30), ('milk', 15), ('egg', 25)])
        8. Product: egg  its count is: 25
        9. Count of apple 25

세트:
세트는 고유한 요소를 순서 없이 모아 놓은 것입니다. 세트는 변경 가능하지만 중복된 요소는 허용되지 않습니다.

구문:
Botanical_garden = {'장미', '연꽃', '백합'}
Botanical_garden.add('재스민')
Botanical_garden.remove('장미')
is_present_Jasmine = 식물원의 '자스민'

위에서는 집합을 정의하고 값을 추가하고 제거하는 방법을 볼 수 있습니다. 세트에 동일한 요소를 추가하면 오류가 발생합니다.

또한 벤다이어그램과 유사한 두 집합을 비교할 수도 있습니다. 두 데이터 세트의 합집합, 차이, 교차점과 같습니다.

botanical_garden = {'Tuple', 'rose', 'Lily', 'Jasmine', 'lotus'}
rose_garden = {'rose', 'lotus', 'Hybiscus'}

common_flower= botanical_garden.intersection(rose_garden)
flowers_only_in_bg = botanical_garden.difference(rose_garden)
flowers_in_both_set = botanical_garden.union(rose_garden)

Output will be a set by default. 
If needed we can typecase into list using list(expression)

튜플:
튜플은 변경 불가능한 요소의 정렬된 컬렉션입니다. 즉, 생성된 후에는 변경할 수 없습니다.

구문:

ooty_trip = ('Ooty', '2024-1-1', 'Botanical_Garden')
munnar_trip = ('Munar', '2024-06-06', 'Eravikulam National Park')
germany_trip = ('Germany', '2025-1-1', 'Lueneburg')
print('\t1. Trip details', ooty_trip, germany_trip)

#Accessing tuple using index
location = ooty_trip[0]
date = ooty_trip[1]
place = ooty_trip[2]

print(f'\t2a. Location: {location} Date: {date} Place: {place} ')

location, date, place =germany_trip # Assinging a tuple to 3 different variables
print(f'\t2b. Location: {location} Date: {date} Place: {place} ')

print('\t3. The count of ooty_trip is ',ooty_trip.count)

Output:
   1. Trip details ('Ooty', '2024-1-1', 'Botanical_Garden') ('Germany', '2025-1-1', 'Lueneburg')
   2a. Location: Ooty Date: 2024-1-1 Place: Botanical_Garden
   2b. Location: Germany Date: 2025-1-1 Place: Lueneburg
   3. The count of ooty_trip is  <built-in method count of tuple object at 0x0000011634B3DBC0>

튜플은 인덱스를 사용하여 액세스할 수 있습니다. 튜플의 값은 여러 변수에 쉽게 할당될 수 있습니다. 두 개의 튜플을 결합하여 또 다른 튜플을 생성할 수 있습니다. 하지만 튜플은 수정할 수 없습니다.

위 내용은 Python - 사전, 집합, 튜플의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.