2015-12-14 4 views
-3

Посмотрите на приведенный ниже код и объяснить, что это иллюстрирует:Python: Это то же самое?

hash = { ’one’ : 1, ’two’ : 2, ’three’ : 3 } 

hash = {’three’: 3, ’two’: 2, ’one’: 1} 
+1

ничего не иллюстрирует, так как они оба полны синтаксических ошибок. '' 'Недействительные кавычки - не используйте слово Microsoft для редактирования кода. –

ответ

0

Предполагая, что вы удалить ваши очевидные типографские ошибки, они могут быть не обязательно то же самое, но они, безусловно, будет неотличимы.

То есть, нет никакой операции, которую вы можете применить к любой версии, которая покажет порядок вставки элементов в контейнер.

0

В принципе, вы создаете словарь, который представляет собой структуру данных, содержащуюся из пар ключ-значение. То, что вы видите слева от «:», является ключом, и то, что вы видите справа от «:», - это значение. Для того, чтобы получить конкретное значение ключа, который вы используете: hash[key]

Там нет никакой разницы между этими двумя линиями, потому что порядок не учитывает при создании словарей, так как пары ключ-значение одинаковы ,

2
hash = {'one':1,'two':2,'three':3} 
hash = {'three':3,'two':2,'one':1} 

Это правильное объявление хэша (без опечаток). Чтобы получить значение, вы должны использовать hash[key]. Учитывая вышеупомянутые два хэша: Если вы наберете hash[three], он вернет значение 3. Выходные данные (3) остаются неизменными в случае обоих вышеупомянутых хэшей.

Хэш отличается от списка. В списке вы должны использовать индекс/позицию для получения значения.

a = [1,2,3] 
a = [3,2,1] 

Если вы наберете в a[0], значение будет отличаться в обоих случаях.

Но в случае хэша вы используете назначенный ключ для доступа к значению и, следовательно, это не имеет значения. Приказ не имеет значения. Это связано с тем, что функции хэша не заботятся о позиции. Он работает только на основе пары ключ/значение.

Короче говоря, оба хэша одинаковы и дают одинаковый выход для определенного ключа.

+0

'a = {3, 2, 1}' создает набор в Python, а не массив. Вместо этого вы можете использовать список с квадратными скобками: 'a = [3, 2, 1]' –

+0

@MarkusMeskanen Я этого не заметил. Исправлено. Большое спасибо. –

0
>>> hash = {'three':3,'two':2,'one':1} 
>>> hash1 = {'one':1,'two':2,'three':3} 
>>> hash == hash1 
    True 
>>> type(hash) == type(hash1) 
    True 
>>> id(hash) == id(hash1) 
    False 
+0

Пожалуйста, подумайте об объяснении вашего ответа. – Maroun

Смежные вопросы