Я делаю программу, в которой перечислены студенты, их степень и курсы, среди прочего, для просмотра. Мне не удалось обернуть вокруг себя то, что было бы способом перебора элемента определенного индекса в списке списков. Список списков содержит информацию о студенте, как это:Оценка элемента определенного индекса в списке в списке
[['2004S','3001','Johnson John','149','HETY2','STIL'],
['2004S','3002','Steveson Steve','224','HETY2','SEIT'],
['2004S','3003','Jackson Jack','270','HETY2','SEIT'],
...
['2007S','3124','Ericsson Eric','286','HETY2','SPII']]
То, что я хочу сделать, это оценить первый элемент каждого списка с входом, я получаю от входа виджета. Первый пункт - это год, когда студент начал учебу. Поэтому в поле «Ввод» я спрашиваю, какие студенты года хотят просматривать. Если значение оценивает true, я добавляю весь список в другой список, все из которых я покажу на экране позже. Что-то вроде этого:
class Model():
...
def searched_year(self, year):
for object in self.student.parse_student_info():
for elem in range(len(self.student.parse_student_info())):
matching = [object for elem in object if str(year) in elem]
return matching
Метод parse_student_info()
вызывается из Student
класса с «студент» объекта и возвращает весь список списков, как показано выше. Аргументом «год» является StringVar
, который я получаю из виджета Entry. Этот код возвращает пустой список каждый раз (и еще не ограничивает поиск индексом). Каков наилучший способ сделать это?
EDIT:
Более важно код:
class Student():
...
def parse_student_info(self):
with open('opiskelijat.txt', 'r') as src:
separ = src.readlines()
studentinfo = [elem.strip().split(';') for elem in separ]
return studentinfo
Это parse_student_info()
метод в Student
классе. Он возвращает список списков, который вы видите выше. Он работает по назначению. Ниже приведен метод search_year()
, который вызывает этот метод.
UIController():
...
def search_year(self, year):
mode = Model()
return mode.searched_year(year)
В UIController
управления классом всех различных Frame
классов, содержащих кнопки и другие элементы, а также взаимодействует с Model
класса, который обрабатывает информацию от Student
, Course
и Degree
классов.
Пока метод все еще печатает пустой список.
Так как дизайн наконечника, «The parse_student_info() - метод вызывается из класса Student с„студент“объекта и возвращает весь список списков, как показано выше.» Этот тип функции не должен принадлежать объекту «Студент». «Студентам» не нужно ничего знать, кроме самих себя. – CoryKramer