«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Python — словарь, набор, кортеж

Python — словарь, набор, кортеж

Опубликовано 1 сентября 2024 г.
Просматривать:377

Все три представляют собой разные типы структур данных в Python. Это используется для хранения различных коллекций данных. В зависимости от варианта использования нашего требования нам нужно выбрать один из них.

Python - Dictionary, Set, Tuple

Словарь (dict):

  1. Словарь — это набор пар ключ-значение, где каждый ключ связан со значением
  2. Данные можно получить на основе значения ключа (поиск на основе ключа), поскольку ключи должны быть уникальными.
  3. До версии 3.7 словари не упорядочены, значения можно менять. Имя ключа не может быть изменено напрямую

Синтаксис:
инвентарь = {'яблоко':20, 'Банан':30, 'морковь':15, 'молоко':15}
print('\t1. Предметы инвентаря', инвентарь)

Словари можно добавить с другим значением/изменить значение существующего ключа, используя приведенный ниже синтаксис

инвентарь['egg'] = 20
инвентарь['хлеб'] = 25
print('\t2. Обновленные предметы инвентаря', Inventory)
инвентарь['egg']= инвентарь['egg'] 5
print('\t3. После пополнения запасов', инвентаризация)

  • удалить данные из dict можно с помощью ключевого слова del.
  • Проверку наличия данных можно выполнить с помощью ключевого слова in. Результат будет логическим.

удалить инвентарь['морковь']
дель инвентарь['хлеб']
print('\t4. Обновленный инвентарь после удаления', Inventory)

is_bananas_in_inventory = «Банан» в инвентаре
print('\t5a. Банан в инвентаре', is_bananas_in_inventory)
is_oranges_in_inventory = 'Оранжевый' в инвентаре
print('\t5b. Есть ли оранжевый в инвентаре', 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 = 'Жасмин' в ботаническом_саду

Выше мы видим, как определить набор, добавить значения и удалить его. Если мы добавим одинаковые элементы в набор, произойдет ошибка.

Также мы можем сравнить два множества, аналогичные диаграмме Венна. Как и Union, разница, пересечение двух наборов данных.

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  

Доступ к кортежам можно получить с помощью index. Значения кортежей можно легко присвоить нескольким переменным. Мы можем объединить два кортежа, чтобы создать еще один кортеж. Но кортеж нельзя изменить.

Заявление о выпуске Эта статья перепечатана по адресу: https://dev.to/sureshlearnspython/python-dictionary-set-tuple-5em7?1. В случае нарушения авторских прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3