Погружение в сложные списки и словари в Python

Как я и обещал, вот и я! Я снова пришел с подробной статьей в блоге о списках и словарях в Python. В этом блоге мы рассмотрим встроенные методы для списков и словарей, предоставляемые python. В python существует не так много сложных методов. Все встроенные методы очень интуитивно понятны только по названию. Итак, давайте приступим!

Прекрасный тип данных Lists в Python

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

  1. insert(), append() & extend()
  2. remove(), pop(), del & clear()
  3. count(), index() & len()
  4. sort() & reverse()
  5. копировать()

insert(), append() & extend()

вставить()

Синтаксис: list.insert(position, element)
Метод Insert() добавляет элемент на указанную позицию в списке. Элемент может быть любым из встроенных типов данных.

1). Вставка строки в список

list1 = ["Python", "Programming"]
str1 = "Learn"
list2 = ["From", "Sahil Fruitwala"]

list1.insert(0, str1)
list1.insert(3, list2)

print(list1)

#OUTPUT: ['Learn', 'Python', 'Programming', ['From', 'Sahil Fruitwala']]

Вход в полноэкранный режим Выйти из полноэкранного режима

2). Вставка числа и булевых чисел в список

list1 = ["Python", "Programming"]
number1 = 13
boolean1 = False

list1.insert(0, number1)
list1.insert(10, boolean1)

print(list1)

# OUTPUT: ['Python', 'Programming', 13, False]

Ввести полноэкранный режим Выйти из полноэкранного режима

Здесь, если мы добавим любое число больше, чем индекс окончания, данные будут добавлены в конец списка. Так, когда мы сделали list1.insert(10, boolean1), поскольку список не имеет десяти элементов или 10-го индекса, он добавит данные boolean в конец списка.

append()

Синтаксис: list.append(element).
Метод append добавляет элемент в конец списка. В методе append можно использовать любой тип данных.

list1 = ["Python", "Programming"]
str1 = "Learn"
list2 = ["From", "Sahil Fruitwala"]

list1.append(str1)
list1.append(list2)

print(list1)
# OUTPUT: ['Python', 'Programming', 'Learn', ['From', 'Sahil Fruitwala']]

Вход в полноэкранный режим Выход из полноэкранного режима

extend()

Синтаксис: list.extend(iterable_element)
Метод extend добавляет каждый элемент типа данных iterable/sequence (string, list, tuple, set) в конец списка.

list1 = ["Python", "Programming"]
str1 = "Learn"
list2 = ["From", "Sahil Fruitwala"]
tuple1 = ("in", "Python 101")
set1 = {"The", "Blog Series"}

list1.extend(str1)
list1.extend(list2)
list1.extend(tuple1)
list1.extend(set1)

print(list1)

# OUTPUT: ['Python', 'Programming', 'L', 'e', 'a', 'r', 'n', 'From', 'Sahil Fruitwala', 'in', 'Python 101', 'The', 'Blog Series']

Вход в полноэкранный режим Выход из полноэкранного режима

remove(), pop(), del & clear()

remove()

Синтаксис: list.remove(element)
Метод remove удаляет первый экземпляр определенного элемента из списка.

list1 = [ 1, 2, 1, 1, 4, 5 ]
list1.remove(1)
print(list1)

# OUTPUT: [2, 1, 1, 4, 5]

Вход в полноэкранный режим Выход из полноэкранного режима

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

list1 = [ 1, 2, 1, 1, 4, 5 ]
list1.remove(6)
print(list1)

'''
OUTPUT:

Traceback (most recent call last):
  File "C:\Users\Sahil\Desktop\1.py", line 2, in <module>
    list1.remove(6)
ValueError: list.remove(x): x not in list

'''

Войти в полноэкранный режим Выход из полноэкранного режима

pop()

Синтаксис: list.pop() или list.pop(index).
Метод pop по умолчанию удаляет последний элемент списка и возвращает его. Мы также можем передать методу pop конкретный индекс.

list1 = ["Python", "C++", "Java", "PHP", "Rust"]
pop_element = list1.pop()
print(pop_element)
print(list1)

# OUTPUT: Rust
# OUTPUT: ['Python', 'C++', 'Java', 'PHP']

pop_element = list1.pop(1)
print(pop_element)
print(list1)

# OUTPUT: C++
# OUTPUT: ['Python', 'Java', 'PHP']

Вход в полноэкранный режим Выход из полноэкранного режима

del

Синтаксис: del list[index]
Ключевое слово del удаляет элементы с определенного индекса в списке. Если использовать ключевое слово del без индекса, то оно удалит из памяти компьютера всю переменную.

list1 = ["Python", "C++", "Java", "PHP", "Rust"]
del list1[2]
print(list1)

# OUTPUT: ['Python', 'C++', 'PHP', 'Rust']

list1 = ["Python", "C++", "Java", "PHP", "Rust"]
del list1

Вход в полноэкранный режим Выход из полноэкранного режима

очистить()

Синтаксис: list.clear()
Метод Clear удаляет все элементы из списка.

list1 = ["Python", "C++", "Java", "PHP", "Rust"]
list1.clear()
print(list1)

# OUTPUT: []

Вход в полноэкранный режим Выход из полноэкранного режима

count(), index() & len()

count()

Синтаксис: list.count(element)
Метод count возвращает количество вхождений определенного элемента в список.

fruits = ['apple', 'banana', 'cherry', 'mango', 'grape', 'cherry', 'cherry']
num_of_cherry = fruits.count("cherry")
print(num_of_cherry)

# OUTPUT: 3

Вход в полноэкранный режим Выход из полноэкранного режима

index()

Синтаксис: list.index(element)
Метод index возвращает индекс определенного элемента в списке.

fruits = ['apple', 'banana', 'cherry', 'mango', 'grape', 'cherry', 'cherry']
index_of_cherry = fruits.index("cherry")

print(index_of_cherry)

# OUTPUT: 2

Вход в полноэкранный режим Выход из полноэкранного режима

Примечание: Если элемент не существует, метод index() выдаст ошибку.

len()

Синтаксис: len(list).
Метод Len возвращает длину любой последовательности данных типа datatype и словаря.

list1 = ['apple', 'banana', 'cherry', 'mango', 'grape', 'cherry', 'cherry']
str1 = "Python Programming"
dict1 = {'lang':"Python", 'Year':2021}

print(len(list1))
print(len(str1))
print(len(dict1))

# OUTPUT: 7
# OUTPUT: 18
# OUTPUT: 2

Вход в полноэкранный режим Выход из полноэкранного режима

sort() & reverse()

sort()

Синтаксис: list.sort()
Метод sort по умолчанию сортирует все элементы списка в порядке возрастания. Мы можем выполнить сортировку в порядке убывания, указав в функции sort аргумент reverse=True.

nums = [2, 5, 1, 7, 2, 3, 4, 5, 6]

nums.sort()
print(nums)
# OUTPUT: [1, 2, 2, 3, 4, 5, 5, 6, 7]

nums.sort(reverse=True)
print(nums)
# OUTPUT: [7, 6, 5, 5, 4, 3, 2, 2, 1]

Вход в полноэкранный режим Выход из полноэкранного режима

Метод sort является методом in-place. Это означает, что он не возвращает никакого значения и выполняет все операции внутри. Именно по этой причине мы не присвоили nums.sort() никакому другому значению. Если мы это сделаем, то получим следующий результат.

nums = [2, 5, 1, 7, 2, 3, 4, 5, 6]

new_nums = nums.sort()
print(new_nums)

# OUTPUT: None

Вход в полноэкранный режим Выход из полноэкранного режима

reverse()

Синтаксис: list.reverse()
Как следует из названия, метод reverse инвертирует весь список. Метод reverse также является методом in-place.

nums = [2, 5, 1, 7, 2, 3, 4, 5, 6]

nums.reverse()
print(nums)
# OUTPUT: [6, 5, 4, 3, 2, 7, 1, 5, 2]

Вход в полноэкранный режим Выход из полноэкранного режима

копировать()

Синтаксис: list.copy()

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

num1 = [2, 5, 1, 7, 2, 3, 4, 5, 6]
num2 = num1

num2.reverse()
print(num1)
print(num2)

# OUTPUT:
[6, 5, 4, 3, 2, 7, 1, 5, 2]
[6, 5, 4, 3, 2, 7, 1, 5, 2]

Вход в полноэкранный режим Выход из полноэкранного режима

В общем случае в num2 будут скопированы данные num1. Но в случае списка, он просто копирует адрес памяти num1 в num2. Таким образом, какие бы изменения мы ни делали в num2, все они отразятся в num1, и наоборот. Поэтому, чтобы правильно копировать списки, мы должны использовать метод копирования.

num1 = [2, 5, 1, 7, 2, 3, 4, 5, 6]
num2 = num1.copy()

num2.reverse()
print(num1)
print(num2)

# OUTPUT:
[2, 5, 1, 7, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 7, 1, 5, 2]

Вход в полноэкранный режим Выход из полноэкранного режима

В качестве альтернативы можно также использовать list(имя_списка).

num1 = [2, 5, 1, 7, 2, 3, 4, 5, 6]
num2 = list(num1)

num2.reverse()
print(num1)
print(num2)

# OUTPUT:
[2, 5, 1, 7, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 7, 1, 5, 2]

Войти в полноэкранный режим Выход из полноэкранного режима

Тип данных Dope Dictionary в Python

  1. clear(), pop() & popitem()
  2. get(), items() & keys()
  3. update() & fromkeys()

clear(), pop() & popitem()

очистить()

Синтаксис: dictionary.clear()
Метод clear() для словаря работает так же, как и для списка. Этот метод удаляет все элементы из словаря.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

print(blog)
# OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala', 'year': 2021}

blog.clear()
print(blog)
# OUTPUT: {}

Вход в полноэкранный режим Выход из полноэкранного режима

pop()

Синтаксис: dictionary.pop() или dictionary.pop(key, default_value)
Метод pop() удаляет и возвращает определенный элемент из словаря.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

print(blog)
# OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala', 'year': 2021}

year = blog.pop("year")
print(blog) # OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala'}
print(year) # 2021

Вход в полноэкранный режим Выход из полноэкранного режима

Метод pop() используется, когда мы хотим получить значение по умолчанию в случае, если ключ не существует.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

year = blog.pop("years", "NotFound")
print(blog) # OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala', 'year': 2021}

print(year) # NotFound

Войти в полноэкранный режим Выход из полноэкранного режима

popitem()

Синтаксис: dictionary.popitem()
Функция popitem() удаляет последнюю пару ключ-значение из словаря и возвращает в виде кортежа.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

year = blog.popitem()
print(blog)
# OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala'}

print(year)
# OUTPUT: ('year', 2021)

Вход в полноэкранный режим Выход из полноэкранного режима

get(), items(), keys() & values()

get()

Синтаксис: dictionary.get(keyname)
Метод get извлекает значение указанного ключа.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

year = blog.get("year")
print(year)
# OUTPUT: 2021

Вход в полноэкранный режим Выйти из полноэкранного режима

items()

Синтаксис: dictionary.items()
Метод items возвращает объект представления словаря. Объект представления содержит все пары ключ-значение. Один из недостатков использования метода items() заключается в том, что если вы внесете какие-либо изменения в корневой или исходный словарь, это отразится и в переменной объекта представления.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

view_object = blog.items()

blog['year'] = 2022
print(view_object)

# OUTPUT: dict_items([('language', 'Python'), ('Blogger', 'Sahil Fruitwala'), ('year', 2022)])

Вход в полноэкранный режим Выход из полноэкранного режима

keys() & values()

Синтаксис: dictionary.keys() и dictionary.values()
Как следует из названия, методы keys() и values() возвращают объект представления или ключи и значения данного словаря.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

keys = blog.keys()
print(keys)
# OUTPUT: dict_keys(['language', 'Blogger', 'year'])

values = blog.values()
print(values)
# OUTPUT: dict_values(['Python', 'Sahil Fruitwala', '2022'])

Вход в полноэкранный режим Выход из полноэкранного режима

update() & fromkeys()

update()

Синтаксис: dictionary.get({key:value})
Метод update обновляет существующий ключ указанным значением, а если ключ не существует, то добавляет новую пару ключ-значение.

blog =  {
  "language": "Python",
  "Blogger": "Sahil Fruitwala",
  "year": 2021
}

blog.update({"type": "New"})
print(blog)
# OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala', 'year': 2021, 'type': 'New'}

blog.update({"type": "OLD"})
print(blog)
# OUTPUT: {'language': 'Python', 'Blogger': 'Sahil Fruitwala', 'year': 2021, 'type': 'OLD'}

Вход в полноэкранный режим Выход из полноэкранного режима

fromkeys()

Синтаксис: dict.fromkeys(keys, defaultvalue).
Когда мы изначально имеем новые параметры, но не знаем их значений, мы можем создать словарь с ключами и значениями по умолчанию.

keys =  ( "Python", "Sahil Fruitwala", 2021 )

blog = dict.fromkeys(keys)
print(blog)
# OUTPUT: {'Python': None, 'Sahil Fruitwala': None, 2021: None}

blog1 = dict.fromkeys(keys, "")
print(blog1)
# OUTPUT: {'Python': '', 'Sahil Fruitwala': '', 2021: ''}

Вход в полноэкранный режим Выход из полноэкранного режима

Заключение

Наконец-то! Мы подошли к концу этого раздела 😁.

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

Если вы хотите узнать больше о методах List и Dictionary, загляните на GeeksforGeeks.


Вот и все!

Не забудьте поделиться любыми мыслями, вопросами или проблемами. Дайте мне знать, если вам нужна помощь или вы хотите что-то обсудить. Свяжитесь со мной в Twitter или LinkedIn. Обязательно делитесь любыми мыслями, вопросами или проблемами. Я буду рада их увидеть.

Спасибо за ваше драгоценное время ❤


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

Оцените статью
devanswers.ru
Добавить комментарий