Различают упорядочные и неупорядоченные коллекции (как set и dict)
-
строки (str,bytes,unicode) - это последовательности
-
reversed: обратный порядоск с функцией reversed
a = reversed('hello')
- typle: упорядоченная коллекция из n значений любого типа (n>=0) (кортеж)
a= (1, 2, 3)
b=('a', 1, 'python', (1, 2))
b[2]='something else' #возвращает ошибку типа TypeError
Поддерживает индексацию, неизменяемый, хешируемый, если все его члены хешируемы.
- list: Упорядоченная коллекция из n значений(n>=0)
a=[1, 2, 3]
b=['a', 1, 'python',(1, 2),[1, 2]]
b[2]='something else' #такое присвоение разрешено
Не хешируемый, изменяемый
- set: неупорядоченная коллекция уникальных значений. Элементы должны быть хешируемыми
a={1, 2, 'a'}
- dict: неупорядоченная оллекция уникальных пар ключ-значение, ключи должны быть хешируемыми
a = {1: 'one', 2: 'two'}
b = {'a':[1, 2, 3], 'b': 'a string'}
Объект явдяется хешируемым, если он имеет хещ-значение, которое никогда не меняется в течении его жизни (для этого нужен метод __hash__()), и может сраниваться с другими объектами (для этого нужен метод __eq__()). Хешируемые объекты, которые сравниваются на равенство, должны иметь одинаковое хеш-значение.
- int, long, float, complex
- str
- bytes
- tuple
- frozenset
- bytearray
- list
- set
- dict
int_list = [1,2,3]
string_list = ['abc', 'defghi']
empty_list = []
mixed_list = [1, 'abc', True, 2.34, None]
nested_list = [['a', 'b', 'c'], [1, 2, 3]]
Доступ к элементам списка может осуществляться через индекс, или числовое представление их положения. Индексация с 0
names = ['Alice', 'Bob', 'Craig', 'Diana', 'Eric']
print(names[0]) #Alice
print(names[2]) #Craig
print(names[-1]) #Eric
print(names[-4]) #Bob
Списки являются изменяемыми, значения в них можно менять, кроме того, можно добавлять и удалять элементы из списка
names[0]='Ann'
names.append('Sia')
print(names) # ['Ann','Bob','Craig', 'Diana', 'Eric', 'Sia']
Добавить новый элемент в список по заданному индексу можно при помощи команды L.insert(index,object)
names.insert(1, 'Nikki')
print(names) # ['Ann', 'Nikki', 'Bob', 'Craig, 'Diana', 'Eric', 'Sia']
names.remove('Bob')
# ['Ann', 'Nikki', 'Craig, 'Diana', 'Eric', 'Sia']
Получить индекс в списке первого элемента, значение которого равно x (при отсутствии такого элемента выдаст ошибку)
names.index('Ann')
# 0
len(names)
# 6
a = [1,1,1,2,3,4]
a.count(1)
# 3
a.reverse()
#[4,3,2,1,1,1]
# или
a[::-1]
#[4,3,2,1,1,1]
names.pop() # 'Sia'
for element in my_list:
print(element)