Перераховані структури даних, що визначаються у вигляді пар ключ - значення всередині фігурних дужок через двокрапку та розділених комою.
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print dict['Name']
Ключ може бути числом.
dict = {1: 'one', 2: 'two'}
print dict[1]
print dict[3]
Traceback (most recent call last):
File "dict_ex.py", line 3, in <module>
print dict[3]
KeyError: 3
Безпечне вилучення.
print dict.get(3,'no')
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear(); # remove all entries in dict
del dict ; # delete entire dictionary
dict = {['Name']: 'Zara', 'Age': 7}
Traceback (most recent call last):
File "test.py", line 3, in <module>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable
Створення словника.
md = dict(name='Vova', age=23)
print(md)
len(dict)
str(dict)
type(variable)
d1 = ['one', 'two', 'three']
d2 = [1, 2, 3]
d3 = dict(zip(d1,d2))
print(d3
>> {'three': 3, 'two': 2, 'one': 1}
dict.clear() # очистить
dict.copy() # склонировать (сделать копию)
dict.fromkeys(seq[, value])
Create a new dictionary with keys from seq and values set to value.
seq = ('name', 'age', 'sex')
val = (10,20,30)
dict = dict.fromkeys(seq,val)
print dict
>> {'age': (10, 20, 30), 'name': (10, 20, 30), 'sex': (10, 20, 30)}
dict.get(key, default=None)
Проверка на существование ключа.
dict.has_key(key) # only for Python 2!
if 'key' in md:
print('Yes')
else:
print('No')
print(dict.keys())
>> dict_items([('two', [1, 2, 3]), ('one', [1, 2, 3]), ('three', [1, 2, 3])]) # python 3
>> [('three', [1, 2, 3]), ('two', [1, 2, 3]), ('one', [1, 2, 3])] # python 2
print(dict.values())
>> dict_values([[1, 2, 3], [1, 2, 3], [1, 2, 3]]) # python 3
>> [[1, 2, 3], [1, 2, 3], [1, 2, 3]] # python 2
print(dict.items())
>> dict_items([('two', [1, 2, 3]), ('one', [1, 2, 3]), ('three', [1, 2, 3])]) # python 3
>> [('three', [1, 2, 3]), ('two', [1, 2, 3]), ('one', [1, 2, 3])] # python 2
for key, value in d.iteritems(): # For Python 2.x
for key, value in d.items(): $ for Python 3.x
for key in d3.keys():
print(d3[key])
dict.update(dict2)
Функція НЕ повертає, а змінює словник.
import json
json.dumps({"one": 1, "two": '2'})
Запишем в файл.
# write into file
f = open('tst.txt','w+')
f.write(s1)
f.close()
Для запису рядка її потрібно перетворювати з об’єкта словника на рядок функцією dumps.
Вважаємо з файлу.
# read from file
f = open('tst.txt','r')
st = f.read()
f.close()
st_dict = json.loads(st)
print(st_dict['two'])
Для роботи зі словником його необхідно перетворювати з рядка на об’єкт ф-цією loads.