1 сентября 2012 г.

Словари

>>> D= {'food': 'Spam', 'quantity': 4, 'color': 'pink'} 
Словари- такой тип данных,  в котором обращение к объекту возможно с помощью ключа.
Вообщем чего то мне лень сейчас все подробно это расписывать, думаю главное вам будет, это как инициализируется, создается словарь и как получать из него нужные объекты.
В качестве примера рассмотрим следующий словарь, состоящий из трех элементов (с ключами «food» (продукт питания), «quantity» (количество) и «color» (цвет)):
>>> D= {'food': 'Spam', 'quantity': 4, 'color': 'pink'}

>>>  D['food'] # Получить значение, связанное с ключом 'food' 
' Spam'

>>> D['quantity'] += 1 # Прибавить 1 к значению ключа 'quantity' 
>>> D
{'food': 'Spam', 'color': 'pink', 'quantity': 5}

пустого словаря, который затем заполняется по одному ключу за раз. В  
отличие от списков, не допускающих присваивание значений отсутствующим  
элементам, присваивание значения по несуществующему ключу в словаре  
приводит к созданию этого ключа: 
>>> D = {} 
>>> D['name'] = 'Bob' # В результате присваивания создается ключ 
>>> D[' job' ] = 'dev' 
>>> D['age' ] = 40 
>>> D 
{'age': 40, 'job': 'dev', 'name': 'Bob'} 
>>> print(D['name' ]) 
'Bob' 

В предыдущем примере словарь использовался для описания гипотетической персоны с помощью трех ключей. Теперь предположим, что информация имеет более сложную структуру. Возможно, придется записать имя и фамилию, 
а также несколько названий должностей, занимаемых одновременно. Это 
приводит к необходимости использования вложенных объектов Python.  
Словарь в следующем примере определен в виде литерала и имеет более сложную 
структуру: 
>>> геc = {'name': {'first': 'Bob', 'last': 'Smith'}, 
'Job': ['dev', 'mgr' ], 
'age': 40.5} 

Здесь мы опять имеем словарь, содержащий три ключа верхнего уровня  (ключи «name» (имя), «job» (должность) и «age» (возраст)), однако значения имеют более сложную структуру: для описания имени человека используется  вложенный словарь, чтобы обеспечить поддержку имен, состоящих из нескольких частей, и для перечисления занимаемых должностей используется вложенный список, что обеспечит возможность расширения в будущем. 

К компонентам этой структуры можно обращаться почти так же, как мы делали это в случае 
с матрицей, но на этот раз вместо числовых индексов мы используем ключи 
словаря: 
>>> rec['name'] # 'Name' - это вложенный словарь 
{'last' : 'Smith', 'first' : 'Bob'} 
>>> гес['name']['last'] # Обращение к элементу вложенного словаря 
'Smith' 
>>> rec['Job'] #'Job' - это вложенный список 
['dev', 'mgr']
>>> rec['Job'][-1] # Обращение к элементу вложенного списка 
'mgr' 
>>> гес['Job'].append('Janitor') # Расширение списка должностей Боба (Bob) 
>>>> геc
{'age': 40.5, 'job': ['dev', 'mgr', 'janitor'], 'name': {'last': 'Smith', 
'first': 'Bob'}} 

Извиняюсь за тупой копирайт, но на написание поста не было уже достаточно сил, чтоб обдумывать предоставляемую вам информацию, поэтому получился такой легкий копирайт. Все что предоставлено выше, все работает, все верно, поэтому учитесь, набирайтесь опыта, удачи.

Следующий урок будет про Кортежи....

1 комментарий:

  1. Копипаста это, а копирайт вот: Лутц М. Изучаем Python, 4-е издание.
    http://www.shashkovs.ru/_prog/Lutc_M._-_Izuchaem_Python_(4-e_izdanie)-_2011.pdf

    ОтветитьУдалить