Частый вопрос на собеседованиях для Python-разработчиков: «Чем отличается tuple от list?» Давайте разбираться чем. О терминах в заметке: list — список, tuple — кортеж.
- Вы не можете добавлять элементы в кортеж, в список добавлять можно. В кортеже нет методов append и extend.
1 2 3 4
l = [1, 2, 3] print(l) l.append(4) print(l)
l = [1, 2, 3] print(l) l.append(4) print(l)
- Вы не можете удалять элементы из кортежа, из списка — можете. В кортеже нет методов pop и remove.
1 2 3 4
l = [1, 2, 3] print(l) l.remove(2) print(l)
l = [1, 2, 3] print(l) l.remove(2) print(l)
- И в кортеже и в списке вы можете использовать оператор in для проверки вхождения элемента в структуру данных.
1 2 3 4 5 6 7 8 9 10 11
l = [1, 2, 3] t = (10, 20, 30) if 2 in l: print("Элемент присутствует в списке!") else: print("Элемент отсутствует в списке!") if 20 in t: print("Элемент присутствует в кортеже!") else: print("Элемент отсутствует в кортеже!")
l = [1, 2, 3] t = (10, 20, 30) if 2 in l: print("Элемент присутствует в списке!") else: print("Элемент отсутствует в списке!") if 20 in t: print("Элемент присутствует в кортеже!") else: print("Элемент отсутствует в кортеже!")
- Некоторые кортежи могут быть использованы в качестве ключей в словарях, при условии, что элементы кортежа — это неизменяемые типы, такие как числа, строки, другие кортежи. Cписки в качестве ключей не могут использоваться.
1 2 3 4
t = (1, 2, 3) d = {t : 1, 2 : "string", 3 : 30} for x, y in d.items(): print("Key: {}, Value: {}".format(x, y))
t = (1, 2, 3) d = {t : 1, 2 : "string", 3 : 30} for x, y in d.items(): print("Key: {}, Value: {}".format(x, y))