% python
>>> len([1, 2, 3])                           # Długość
3
>>> [1, 2, 3] + [4, 5, 6]                    # Konkatenacja
[1, 2, 3, 4, 5, 6]
>>> ['Ni!'] * 4                              # Powtórzenie
['Ni!', 'Ni!', 'Ni!', 'Ni!']
>>> 3 in [1, 2, 3]                           # Przynależność
True
>>> for x in [1, 2, 3]: print x,             # Iteracja
...
1 2 3


>>> str([1, 2]) + "34"                       # To samo co "[1, 2]" + "34"
'[1, 2]34'
>>> [1, 2] + list("34")                      # To samo co [1, 2] + ["3", "4"]
[1, 2, '3', '4']


>>> L = ['mielonka', 'Mielonka', 'MIELONKA!']
>>> L[2]                                     # Wartości przesunięcia rozpoczynają się od 0
'MIELONKA!'
>>> L[-2]                                    # Wartość ujemna: odliczamy od końca
'Mielonka'
>>> L[1:]                                    # Wycinek pobiera części listy
['Mielonka', 'MIELONKA!']


>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]


>>> matrix[1]
[4, 5, 6]
>>> matrix[1][1]
5
>>> matrix[2][0]
7
>>> matrix = [[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9]]
>>> matrix[1][1]
5


>>> L = ['mielonka', 'Mielonka', 'MIELONKA!']
>>> L[1] = 'jajka'                           # Przypisanie do indeksu
>>> L
['mielonka', 'jajka', 'MIELONKA!']
>>> L[0:2] = ['najsmaczniejsza', 'jest']     # Przypisanie do wycinka: usunięcie i wstawienie
>>> L                                        # Zastąpienie elementów 0 i 1
['najsmaczniejsza', 'jest', 'MIELONKA!']


>>> L.append('puszkowana')                   # Dodanie elementu na końcu listy
>>> L
['najsmaczniejsza', 'jest', 'MIELONKA!', 'puszkowana']
>>> L.sort( )                                # Sortowanie listy ('M' < 'j')
>>> L
['MIELONKA!', 'jest', 'najsmaczniejsza', 'puszkowana']


>>> L = [1, 2]
>>> L.extend([3,4,5])                        # Dodanie kilku elementów
>>> L
[1, 2, 3, 4, 5]
>>> L.pop( )                                 # Usunięcie i zwrócenie ostatniego elementu
5
>>> L
[1, 2, 3, 4]
>>> L.reverse( )                             # Odwrócenie w miejscu
>>> L
[4, 3, 2, 1]


>>> L = []
>>> L.append(1)                              # Wstawienie na stos
>>> L.append(2)
>>> L
[1, 2]
>>> L.pop( )                                 # Usunięcie ze stosu
2
>>> L
[1]


>>> L
['MIELONKA!', 'jest', 'najsmaczniejsza', 'puszkowana']
>>> del L[0]                                 # Usunięcie jednego elementu
>>> L
['jest', 'najsmaczniejsza', 'puszkowana']
>>> del L[1:]                                # Usunięcie całej części
>>> L                                        # To samo co L[1:] = []
['jest']


>>> L = ['Mam', 'już', 'coś']
>>> L[1:] = []
>>> L
['Mam']
>>> L[0] = []
>>> L
[[]]


% python
>>> d2 = {'mielonka': 2, 'szynka': 1, 'jajka': 3} # Utworzenie słownika
>>> d2['mielonka']                           # Pobranie wartości po kluczu
2
>>> d2                                       # Kolejność zostaje pomieszana 
{'szynka': 1, 'jajka': 3, 'mielonka': 2}


>>> len(d2)                                  # Liczba wpisów w słowniku
3
>>> d2.has_key('szynka')                     # Sprawdzanie istnienia klucza
True
>>> 'szynka' in d2                           # Alternatywne sprawdzanie istnienia klucza
True
>>> d2.keys( )                               # Utworzenie nowej listy kluczy
['szynka', 'jajka', 'mielonka']


>>> d2['szynka'] = ['grillowanie', 'pieczenie', 'smażenie'] # Zmiana wpisu
>>> d2
{'szynka': ['grillowanie', 'pieczenie', 'smażenie'], 'jajka': 3, 'mielonka': 2}
>>> del d2['jajka']                          # Usunięcie wpisu
>>> d2
{'szynka': ['grillowanie', 'pieczenie', 'smażenie'], 'mielonka': 2}
>>> d2['lunch'] = 'Bekon'                    # Dodanie nowego wpisu
>>> d2
{'lunch': 'Bekon', 'szynka': ['grillowanie', 'pieczenie', 'smażenie'], 'mielonka': 2}


>>> d2 = {'mielonka': 2, 'szynka': 1, 'jajka': 3}
>>> d2.values( )
[1, 3, 2]
>>> d2.items( )
[('szynka', 1), ('jajka', 3), ('mielonka', 2)]


>>> d2.get('mielonka')                       # Klucz istnieje
2
>>> d2.get('tost')                           # Brakujący klucz
None
>>> d2.get('tost', 88)
88


>>> d2
{'szynka': 1, 'jajka': 3, 'mielonka': 2}
>>> d3 = {'tost':4, 'ciastko':5}
>>> d2.update(d3)
>>> d2
{'tost': 4, 'szynka': 1, 'jajka': 3, 'mielonka': 2, 'ciastko': 5}


# Usunięcie wpisu ze słownika po jego kluczu
>>> d2
{'tost': 4, 'szynka': 1, 'jajka': 3, 'mielonka': 2, 'ciastko': 5}
>>> d2.pop('ciastko')
5
>>> d2.pop('tost')                           # Usunięcie i zwrócenie wartości klucza
4
>>> d2
{'szynka': 1, 'jajka': 3, 'mielonka': 2}

# Usunięcie elementu z listy po jego pozycji
>>> L = ['aa', 'bb', 'cc', 'dd']
>>> L.pop( )                                 # Usunięcie i zwrócenie ostatniego elementu
'dd'
>>> L
['aa', 'bb', 'cc']
>>> L.pop(1)                                 # Usunięcie elementu z określonej pozycji
'bb'
>>> L
['aa', 'cc']


>>> table = {'Python': 'Guido van Rossum',
...          'Perl': 'Larry Wall',
...          'Tcl': 'John Ousterhout' }
...
>>> language = 'Python'
>>> creator = table[language]
>>> creator
'Guido van Rossum'

>>> for lang in table.keys( ):
...    print lang, '\t', table[lang]
...
Python  Guido van Rossum
Tcl     John Ousterhout
Perl    Larry Wall


>>> L = []
>>> L[99] = 'mielonka'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
IndexError: list assignment index out of range


>>> D = {}
>>> D[99] = 'mielonka'
>>> D[99]
'mielonka'
>>> D
{99: 'mielonka'}


>>> Matrix = {}
>>> Matrix[(2, 3, 4)] = 88
>>> Matrix[(7, 8, 9)] = 99
>>>
>>> X = 2; Y = 3; Z = 4                      # Znak ; rozdziela instrukcje
>>> Matrix[(X, Y, Z)]
88
>>> Matrix
{(2, 3, 4): 88, (7, 8, 9): 99}


>>> Matrix[(2,3,6)]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
KeyError: (2, 3, 6)


>>> if Matrix.has_key((2,3,6)):              # Sprawdzanie kluczy przed pobraniem
...    print Matrix[(2,3,6)]
... else:
...    print 0
...
0

>>> try:
...    print Matrix[(2,3,6)]                 # Próba indeksowania
... except KeyError:                         # Przechwycenie i obsługa błędu
...    print 0
...
0

>>> Matrix.get((2,3,4), 0)                   # Istnieje - pobranie i zwrócenie
88
>>> Matrix.get((2,3,6), 0)                   # Nie istnieje - użycie argumentu domyślnego
0


>>> rec = {}
>>> rec['name'] = 'mel'
>>> rec['age'] = 45
>>> rec['job'] = 'instruktor, pisarz'
>>>
>>> print rec['name']
mel


>>> mel = {'name': 'Mark',
...        'jobs': ['instruktor', 'pisarz'],
...        'web': 'www.rmi.net/~lutz',
...        'home': {'state': 'CO', 'zip':80513}}
...


>>> mel['name']
'Mark'
>>> mel['jobs']
['instruktor', 'pisarz']
>>> mel['jobs'][1]
'pisarz'
>>> mel['home']['zip']
80513


{'name': 'mel', 'age': 45}                   # Tradycyjne wyrażenie z literałem

D = {}                                       # Dynamiczne przypisanie kluczy
D['name'] = 'mel'
D['age'] = 45

dict(name='mel', age=45)                     # Forma z kluczami jako argumentami

dict([('name', 'mel'), ('age', 45)])         # Forma z krotkami klucz-wartość


>>> dict.fromkeys(['a', 'b'], 0)
{'a': 0, 'b': 0}


# Ramka "Znaczenie interfejsów do słowników"

import anydbm
file = anydbm.open("nazwa_pliku")            # Łącze do pliku
file['key'] = 'data'                         # Przechowanie danych po kluczu
data = file['key']                           # Pobranie danych po kluczu


import cgi
form = cgi.FieldStorage( )                   # Analiza danych z formularza
if form.has_key('name'):
showReply('Witaj, ' + form['name'].value)