Найти - Пользователи
Полная версия: ошибка при переборе словаря
Начало » Python для новичков » ошибка при переборе словаря
1
zlodiak
помогите пожалуйста исправить ошибку в этом коде
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
vrabey
zlodiak
может так
for record in db:
    print(record)
    for item in sorted(record):    
        print(item, '_', db[record])
    print('-----')
zlodiak
да нет. мне бы нужно вывести:
c111
id - 11
type - c
number - 111
и т.д.
zlodiak
сам понял как надо. вот:
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('-----')
vrabey
zlodiak
for record in sorted(db):
    print("{}:".format(record))
    for i in (db[record]):
        print("{0} - {1}".format(i, db[record][i])) 
    print "-------------" 
точно к такомуже пришёл
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB