Хеши


Ассоциативные массивы в Python называются словарями (dict)

d1 = dict([('x',1), ('y',2)])
d2 = dict({ 'a':1, 'b':2 })
d3 = dict(a=1,b=2,c=3)
d4 = { 'a': 1, 'b': 2, 'c':3 }
d4['d'] = 4
d5 = dict(zip(('a','b','c'),(1,2,3)))

* Словари Python не являются упорядоченными, в отличие от хешей в PHP
* Для словарей существуют <tt>генераторы словарей</tt> и <tt>итераторы словарей</tt>

# Генераторы словарей

# степени 2 для чисел
d1 = dict([(x, x**2) for x in (2, 4, 6)])

# список файл-размер
files = {name: os.path.getsize(name) for name in os.listdir('.')}

# Итераторы словарей

for v in d1.items():
    print v[0],v[1]

for k,v in d1.items()
    print k,v


# Распаковывание словаря

def v(a, b=1, **c):
    return a+b+c['name']

def f(a,b):
    return a*b

x={'1':2}
f(**x)