Рубрики
Без рубрики

30 дней Python 👨💻 – день 4 – Типы данных III

Поскольку я делюсь своим ежедневным обучением Python обучение прогрессом, он становится более понятным и очевиден для … Теги с Python, Challenge.

30-дневный питон (30 частей серии)

Поскольку я делюсь своим ежедневным обучением прогресса на обучении Python, становится более понятным и очевидным для меня, что обучение и обмен объяснением концепций одновременно помогает затвердеть строительные блоки еще больше. Другой Перк – это любовь от сообщества ❤️

Начиная с того места, где я ушел в день 3, я продолжал исследовать о списках и оставшихся типах данных сегодня.

Действия по спискам

Также как строки Python предоставляет нам некоторые встроенные методы для выполнения некоторых действий в списке типов данных. Опять методы называются после Отказ Оператор на объектах (здесь списки). Действия могут быть классифицированы на основе их вида действий.

  • Добавление элементов в списки (добавка, вставка, продлить)
scores = [44,48,55,89,34]
scores.append(100) # Append adds a new item to the end
print(scores) # [44, 48, 55, 89, 34, 100]
scores.insert(0, 34) # Inserts 34 to index 0
scores.insert(2, 44) # Inserts 44 to index 2
print(scores) # [34, 44, 44, 48, 55, 89, 34, 100]
scores.extend([23]) # Extend takes an iterable (loopable items) and adds to end of list
print(scores) # [34, 44, 44, 48, 55, 89, 34, 100, 23]
scores.extend([12,10])
print(scores) # [34, 44, 44, 48, 55, 89, 34, 100, 23, 12, 10]

Здесь немного чтена. Эти методы добавляют элементы в список на месте и не возвращайте никакого значения.

scores = [44,48,55,89,34]
newScores = scores.append(100)
print(newScores) # None 
newScores = scores.insert(0,44)
print(newScores) # None
  • Удаление элементов из списка (поп, удалить, очистить)
languages = ['C', 'C#', 'C++']
languages.pop()
print(languages) # ['C', 'C#']
languages.remove('C')
print(languages) # ['C#']
languages.clear()
print(languages) # []
  • Получение индекса и подсчета (индекс, счет)
alphabets = ['a', 'b', 'c']
print(alphabets.index('a')) # 0 (Returns the index of the element in list
print(alphabets.count('b')) # 1 (counts the occurence of an element
  • Сортировка, реверсивные и копирование списков
numbers = [1,4,6,3,2,5]
numbers.sort() # Sorts the list items in place and returns nothing
print(numbers) # [1, 2, 3, 4, 5, 6]

#Python also has a built in sorting function that returns a new list
sorted_numbers = sorted(numbers) # note - this is not a method
print(sorted_numbers) # [1, 2, 3, 4, 5, 6]

numbers.reverse() # reverse the indices in place
print(numbers) # [6, 5, 4, 3, 2, 1]

numbers_clone = numbers.copy() # another approach is numbers[:]
print(numbers_clone) # [6, 5, 4, 3, 2, 1]

Методы списка Python

Некоторые общие узоры списка

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

avengers = ['ironman', 'spiderman', 'antman', 'hulk']
cloned_avengers = avengers[::1] # very commonly used pattern
reversed_avengers = avengers[::-1] # discussing again because it is also very common
merge_avengers = ' '.join(avengers) # used to join list into string
print(cloned_avengers) # ['ironman', 'spiderman', 'antman', 'hulk']
print(reversed_avengers) # ['hulk', 'antman', 'spiderman', 'ironman']
print(merge_avengers) # ironman spiderman antman hulk

range_of_numbers = list(range(10)) # quickly generates a list of specific range
print(range_of_numbers) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
another_range = list(range(0,5)) # with start stop
print(another_range) # [0, 1, 2, 3, 4]

Перечислите распаковку

Распаковка списка – это нефте-функция. Это напоминает мне распределение массива в JavaScript, которое также очень круто.

first,second,third = ['tesla','ford','ferarri']
print(first) # tesla
print(second) # second
print(third) # ferarri

a,*others = [1,2,3,4,5] # remaining values are stored in others
print(a) # 1
print(others) # [2, 3, 4, 5]

first,*others,last= [😄,😋,😠,😔,😉]
print(first) # 😄
print(others) # ['😋', '😠', '😔']
print(last) # 😉

Я надеюсь, что я смог показать некоторые случаи использования для распаковки списков.

Никто

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

Словари

Словарь или Дикт Это тип данных в Python, который содержит неорганизованный набор данных в паре клавиатуры. Таким образом, словари – это структура данных, которая хранит данные в определенном формате. В моей умственной модели я сравнил это с JavaScript объект где мы храним данные в парах клавишных пар. Ключи Дикт представлены строками, а значения могут проводить любые типы данных. Значения могут быть доступны с использованием соответствующих клавиш. Поскольку словари не имеют никакого порядка, они разбросаны в памяти, в отличие от списков, где они хранятся в порядке в памяти.

user = {'name': 'Max', 'age': 40, 'married': False}
print(user['name']) # Max
print(user['married']) # False

Словарь ключей

Я упомянул, что ключи в словаре должны быть Строка тип данных. Ну, это не совсем верно. Дикт Клавиши могут быть любого неизменного типа данных. Кроме того, ключи должны быть уникальными. Если словарь имеет более одного идентичного ключа, то значения переопределены. Это также называется как столкновение Отказ

abstract = {
 'first': 123,
 True: 'hello',
 777: [1,3,4,5]
}

print(abstract['first']) # 123
print(abstract[True]) # 'hello
print(abstract[777]) # [1,3,4,5]

sample = {
    'username': 'hisenberg',
    'username': 'james'
}
print(sample['username']) # james

Словарь методы

Проверка ошибок – это хорошая практика программирования, поскольку ошибки могут нарушить выполнение программы. В контексте словаря, если мы попытаемся получить доступ к ключу, который не существует, Python будет бросать ошибку и остановить выполнение программы. Это не то, что мы обычно хотим, поэтому есть встроенный метод словаря для обработки этого

house = {
    'rooms' : 4,
    'occupants': 2,
    'doors': 6
}
print(house['windows']) # KeyError: 'windows'
#instead
print(house.get('windows')) # None
print(house.get('windows', 5)) # 5 (This sets a default value if no value is found)

Есть несколько других способов проверить, существует ли конкретный ключ или значение в словаре

user = {'name': 'Raghav', 'age': 20, 'country': 'India'}
print('name' in user.keys()) # True
print('gender' in user.keys()) # False
print('Raghav' in user.values()) # True

Некоторые другие полезные словарные методы – скопировать , ясно, поп, Обновить

cat = {
    'name': 'Tom',
    'greet': 'meow',
    'health': 100
}
cat_copy = cat.copy()
print(cat_copy) # {'name': 'Tom', 'greet': 'meow', 'health': 100}

cat.pop('name')
print(cat) # {'greet': 'meow', 'health': 100}

cat.clear()
print(cat) # {}

cat_copy.update({'name': 'Polo'})
print(cat_copy) # {'name': 'Polo', 'greet': 'meow', 'health': 100}
cat_copy.update({'color': 'Black'}) # adds key value if not present
print(cat_copy) # {'name': 'Polo', 'greet': 'meow', 'health': 100, 'color': 'Black'}

Методы словаря Python

Кортежи

Тип данных кортежей очень похож на списки, но они неизменяются, что означает, что их значение не может быть изменено, и они могут быть отсортированы как списки.

my_tuple = (1,2,3) # Can be any no of items
print(my_tuple[1]) # 2 (Values can be accessed just like lists)
print(1 in my_tuple) # True (Checks if element is present)

Поскольку кортежи неизменяются, их можно использовать как клавиши в словарях.

Действия на кортежи

Как правило, как списки, мы можем срезать кортежи, потому что нарезка возвращает новую копию и не меняет исходные данные.

colors = ('red', 'orange', 'blue', 'yellow')
new_colors = colors[1:4]
print(new_colors) # ('orange', 'blue', 'yellow')

color_1,*others = colors # unpacking!
print(color_1) # 'red'
print(others) # ['orange', 'blue', 'yellow']

print(len(colors)) # 4
print(colors.count('red')) # 1 
print(colors.index('orange')) # 1

Методы Python Tuple

Набор

Наконец последний из типов данных 😋 (если в путешествии не появится что-то новое).

Наборы – это структура данных, которая хранит неупорядоченную коллекцию Уникальный объекты. Из моей вселенной JavaScript я могу вспоминать, что есть установленная структура данных, так что она соответствует моей умственной модели.

set_of_numbers = {1,2,3,4,5,5}
print(set_of_numbers) # {1,2,3,4,5}  (Only unique values are stored)

Это может быть очень полезно удалить скажем, скажем, дубликаты адресов электронной почты из списка электронных писем

emails = ['samantha@hey.com', 'rock@hey.com', 'samantha@hey.com']
emails_set = set(emails)
unique_emails = list(emails_set)
print(unique_emails) # ['rock@hey.com', 'samantha@hey.com']

Действия на сато

Встроенные методы наборов выполняют действия, которые точно похожи на то, что мы узнали в Диаграммы Венн в первичном математическом классе. Вот некоторые из них. Я не нахожу никаких необходимости запоминать их, потому что набор – это важное, чтобы помнить. Методы могут быть проведены в любое время.

set_a = {1,2,3,4,5}
set_b = {4,5,6,7,8}
print(set_a.union(set_b)) # {1, 2, 3, 4, 5, 6, 7, 8}
print(set_a | set_b) # same as above just a compact syntax

print(set_a.intersection(set_b)) # {4, 5}
print(set_a & set_b) # same as above

set_a.discard(1)
print(set_a) # {2,3,4,5}

Python Set Методы О, парень! Наконец, сделано с данными базовыми строительными блоками Python с базовым пониманием его типов данных.

Завтра фокус будет изучать условный расход и итерацию или циклирование в Python. Я закачаю сейчас. Надеюсь, вам понравилось следующее, а также 😃

Хорошего!

30-дневный питон (30 частей серии)

Оригинал: “https://dev.to/arindamdawn/30-days-of-python-day-4-4lle”