Урок 3+
Основные типы данных (часть 2.2): срезы списков, типы, копирование, индекс, объединение, диапазон и распаковка.
Список — это изменяемая структура данных, состоящая из упорядоченных последовательностей объектов любого типа.
Продолжение изучения списков в Python, начатое в Уроке 3 • mutable & immutable objects in python #pyt... . Во второй части Урока 3 рассматриваются срезы списков, их модификация, возможность хранения смешанных типов данных, вложенные списки, поведение указателей и копий в управлении памятью, безопасный поиск индекса элементов, а также рассматриваются связанные концепции, такие как метод объединения, функция диапазона и распаковка.
Здесь вы найдете несколько примеров кода из видео, которые можно скопировать в редактор кода или IDE для экспериментов:
1. Mutable:
Look at first half of this lesson: • mutable & immutable objects in python #pyt...
2. Ordered sequences:
li = ["abc", "bac", "cab", "acb", "bca", "cba"]
'''slicing as string to GET one value from needed position'''
print(li[2])
'''slicing as string to GET range of values from needed positions'''
print(li[2:4])
'''SET new value instead of old one at needed position (because list is mutable)'''
li[2] = "xyz"
print(li)
3. Any type of objects:
li = ["abc", "bac", "cab", "acb", "bca", "cba"]
li2 = ["abc", 5, 2.5, True, li]
print(li2)
'''to access list values which is placed inside another list'''
print(li2[4][2:4])
4. Change or Copy:
li = ["abc", "bac", "cab", "acb", "bca", "cba"]
'''li3 pointing on same thing in the memory as li, thus any of two pointers (li3 or li)
can change the list (because list is mutable)'''
li3 = li
li3[2] = "xyz"
print(li)
'''usage of copy method to avoid changing original list li'''
li3 = li.copy()
li3[2] = 123
print(li)
'''usage of slicing to GET all values from old list li to avoid its changing'''
li3 = li[:]
li3[2] = 123
print(li)
5. Homework:
'''You have a shopping-basket at Amazon and user should be able to check any
item position inside the basket. Hint: it should be checked in safe way...'''
'''not safe'''
item = input('enter name of the item in basket:\n')
shopping_basket = ['pen', 'ink', 'daybook']
position_in_basket = shopping_basket.index(item)
print(position_in_basket)
'''safe'''
item = input('enter name of the item in basket:\n')
shopping_basket = ['pen', 'ink', 'daybook']
position_in_basket = None
if item in shopping_basket:
position_in_basket = shopping_basket.index(item)
print(position_in_basket)
6. Other:
'''join & range'''
text = ' '.join(shopping_basket)
print(text)
li = list(range(11, 21))
print(li)
'''list unpacking'''
a, b, c, d, *other, e = li
print(a)
print(b)
print(c)
print(d)
print(other)
print(e)
print(li)
Информация по комментариям в разработке