В Python пара ключ-значение существует только в словаре . Вы можете вставлять только независимые элементы в списки, которые можно индексировать целыми числами. У вас не может быть пары "ключ-значение" в списке.
Я думаю, [A:B]
пара не действует для Python. Не могли бы вы помочь мне разобраться?
Да, отчасти верно! В списке не может быть пары "ключ-значение". Они будут существовать только в словаре. {A:B}
является правильным, где A
- ключ, а B
- значение, к которому можно получить доступ, используя dict_name['A']
.
Однако lst[A:B]
можно рассматривать как операцию нарезки, где lst
- это любой список. Операция среза выполняется для списков с использованием двоеточия (:
). Здесь он вернет вам элементы с индекса A
до B
. Синтаксис - list_name[start : stop : steps]
. Например -
lst = [1, 2, 3, 5, 10]
print(lst[0:3]) # prints elements from index 0 to 3-1
>>> [1, 2, 3]
print(lst[:]) # prints all the elements in the list
>>> [1, 2, 3, 5, 10]
print(lst[::-1]) # prints all the elements in the list in reverse order
>>> [10, 5, 3, 2, 1]
print(lst[0::2]) # prints elements from index 0 with a step of 2
>>> [1, 3, 10]
Лучшее, что вы можете сделать, это имитировать пару ключ-значение словаря в список, вставив пару кортежей, или вы можете сохранить пары ключ-значение различных структур данных словаря как элементы в список.
lst = [{1:3,4:12},{2:3,5:6,8:9}]
print( lst[1][2]) # prints element with key 2 of dictionary at index 1
>>> 3
print(lst[0][4]) # prints element with key 4 of dictionary at index 0
>>> 12
В приведенном выше списке в качестве элементов хранятся два словаря. Вы можете проиндексировать словарь, и они будут использовать его для поиска любой пары ключ-значение, которую вы хотите.
Короче говоря, используйте Dictionary всякий раз, когда вам нужно сохранить неупорядоченный ассоциативный data ( ключ - значение пара) (Порядок вставки - Python 3.6+. Подробнее - здесь ). Используйте списки всякий раз, когда вы хотите сохранить заказанную коллекцию элементов .
Надеюсь, вы понимаете разницу!