Форум сайта python.su
0
на входе есть строка ввида:
a = "'Vasya'~'20':'Petya'~'15':'Kolya'~'25':'Vova'~'9'"
class A:
def func(self,mdata):
records = []
allrecords = mdata.split(':')
for record in allrecords:
values = record.split('~')
records.append(values)
records.sort(key=lambda item: item[1])
self.data = records
obj = A()
print obj.func(a).data[0] #работает и выводит ['Petya','15']
print obj.func(a).data[0].name #должно выводить 'Petya'
print obj.func(a).data[0].age #должно выводить 15
Отредактировано (Сен. 27, 2010 11:09:26)
Офлайн
20
Нужно обернуть name и age в класс. Т.е. что-то такое:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
records.append(Person(values[0], values[1]))
Офлайн