Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2014 17:51:52

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

ошибка при переборе словаря

помогите пожалуйста исправить ошибку в этом коде

rec1 = {'id': 11, 'type': 'c', 'number': 111}
rec2 = {'id': 22, 'type': 'c', 'number': 222}
rec3 = {'id': 33, 'type': 'c', 'number': 333}
db = {}
db['c111'] = rec1
db['c222'] = rec2
db['c333'] = rec3
for record in db:
    print(record)
    for item in sorted(record):    
        print(item, '_', record[item])
    print('-----')
запускаю его из idle и получаю следующее сообщение об ошибке
TypeError: string indices must be integers

Офлайн

#2 Янв. 19, 2014 18:17:29

vrabey
От: Киев
Зарегистрирован: 2013-04-17
Сообщения: 209
Репутация: +  23  -
Профиль   Отправить e-mail  

ошибка при переборе словаря

zlodiak
может так

for record in db:
    print(record)
    for item in sorted(record):    
        print(item, '_', db[record])
    print('-----')

Офлайн

#3 Янв. 19, 2014 18:21:48

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

ошибка при переборе словаря

да нет. мне бы нужно вывести:

c111
id - 11
type - c
number - 111
и т.д.

Офлайн

#4 Янв. 19, 2014 18:55:33

zlodiak
От: Россия
Зарегистрирован: 2014-01-19
Сообщения: 159
Репутация: +  0  -
Профиль   Адрес электронной почты  

ошибка при переборе словаря

сам понял как надо. вот:

rec1 = {'id': 11, 'type': 'c', 'number': 111}
rec2 = {'id': 22, 'type': 'c', 'number': 222}
rec3 = {'id': 33, 'type': 'c', 'number': 333}
db = {}
db['c111'] = rec1
db['c222'] = rec2
db['c333'] = rec3
for record in db:
    print(record, ': ', db[record])
    for item in db[record]:    
        print(item, '--', db[record][item])
    print('-----')

Офлайн

#5 Янв. 19, 2014 18:58:57

vrabey
От: Киев
Зарегистрирован: 2013-04-17
Сообщения: 209
Репутация: +  23  -
Профиль   Отправить e-mail  

ошибка при переборе словаря

zlodiak

for record in sorted(db):
    print("{}:".format(record))
    for i in (db[record]):
        print("{0} - {1}".format(i, db[record][i])) 
    print "-------------" 
точно к такомуже пришёл

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version