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”