В чем разница между фигурной скобкой и квадратной скобкой в Python?
в чем разница между фигурной скобкой и квадратной скобкой в python?
A ={1,2}
B =[1,2]
когда я печатаю A
и B
на моем терминале они не имели никакого значения. Это правда?
и иногда я заметил, что какой-то код использует {}
и []
для инициализации различных переменных.
Е. Г. A=[]
, B={}
есть ли разница есть?
3 ответов
фигурные скобки создать словари или наборы. Квадратные скобки создать списки.
они называются литералы; набор литералов:
aset = {'foo', 'bar'}
или буквальный словарь:
adict = {'foo': 42, 'bar': 81}
empty_dict = {}
или список литералов:
alist = ['foo', 'bar', 'bar']
empty_list = []
чтобы создать пустой набор, Вы можете использовать только set()
.
наборы коллекций уникальный элементы и вы не можете заказать их. Списки-это упорядоченные последовательности элементов, и значения могут быть повторены. Словари сопоставляют ключи со значениями, ключи должны быть уникальными. Ключи Set и dictionary также должны соответствовать другим ограничениям, чтобы Python мог эффективно отслеживать их и знать, что они уникальны и останутся уникальными.
есть еще tuple
тип, используя запятую для 1 или более элементов, с круглыми скобками, необязательными во многих контекстах:
atuple = ('foo', 'bar')
another_tuple = 'spam',
empty_tuple = ()
WARNING_not_a_tuple = ('eggs')
обратите внимание на запятую в another_tuple
определение; именно эта запятая делает его tuple
, а не скобочки. WARNING_not_a_tuple
не Кортеж, в нем нет запятой. Без скобок все, что у вас осталось, - это строка.
посмотреть структура данных глава учебника Python для более подробной информации; списки представлены в введение глава.
литералы для таких контейнеров также называются выводит и синтаксис позволяет процедурное создание содержимого на основе цикла, называемого генераторы.
они создают разные типы.
>>> type({})
<type 'dict'>
>>> type([])
<type 'list'>
>>> type({1, 2})
<type 'set'>
>>> type({1: 2})
<type 'dict'>
>>> type([1, 2])
<type 'list'>
эти две скобки используются для разных целей. Если вы просто хотите, чтобы список содержал некоторые элементы и упорядочить их по номерам индекс (начиная с 0), просто использовать []
и добавить элементы по мере необходимости. {}
являются особенными в том, что вы можете дать пользовательские идентификаторы для значений, таких как a = {"John": 14}
. Теперь, вместо того, чтобы составлять список с возрастом и помнить, чей возраст где, вы можете просто получить доступ к возрасту Джона по a["John"]
.
на []
называется списком и {}
называется словарь (в Python). Словари-это в основном удобная форма списка, которая позволяет получить доступ к данным намного проще.
тем не менее, есть уловка для словарей. Много раз данные, которые вы помещаете в словарь, не остаются в том же порядке, что и раньше. Следовательно, когда вы проходите каждое значение по одному, оно не будет в том порядке, в котором вы ожидаете. Существует специальный словарь, чтобы обойти это, но вы должны добавить эту строку from collections import OrderedDict
и заменить {}
С OrderedDict()
. Но, я не думаю, что вам нужно будет беспокоиться об этом сейчас.