问:例如,列表中的一项将是['Dave Mcfarland',1]
老师
#字典将类似于:
#{'Jason Seifer':['Ruby Foundations,'Ruby on Rails Forms','Technology Foundations'],
#'Kenneth Love':['Python Basics','Python Collections' ]}
##
通常,保持max_count变量是一个好主意。
#如果发现班级人数超过
当前人数
的老师,请对其进行更新。最好也在#
某处加上老师的名字!##
您的代码在下面。
DEF most_classes (dict_of_teachers ):
MAX_COUNT = 0 max_count_teacher = ''为键,
。项():
如果len个(值)> MAX_COUNT :MAX_COUNT = LEN (值)max_count_teacher =键返回max_count_teacher DEF num_teachers (dict_of_teachers ):计数= 0为老师在dict_of_teachers :计数+ = 1返回计数DEF统计(dict_of_teachers ):为关键,
值 在 dict_of_teachers 。item ():
输出= “ ['{},{}']” 。格式(dict_of_teachers ,len (dict_of_teachers [键]))返回输出
答:好吧,让我花一点时间向您介绍这一点,即使完成了整个python跟踪之后,我对此还是有点麻烦,这对我来说也一直很困难。具有讽刺意味的是,在Python收集之后,我感到挑战变得越来越容易。
DEF most_classes (adict ):
MAX_COUNT = 0 max_teacher = ''为键在adict 。keys ():如果len (adict [ key ])> max_count :max_count = len (adict [ key ])max_teacher = key return max_teacher #在这里,我们使用字典类的.keys()方法迭代每个键,然后要求长度
每个键包含len(adict [key])的#list。如果它大于当前分配给最大计数的值,则该长度将
被分配#assign,他们关键是将数据分配给max_teacher,然后我们的循环移至下一项,最后
#返回应与列表对应的max_teacher,最大长度。
DEF num_teachers (adict ):总= 0为键在adict 。keys ():total + = 1返回total #这里我们创建了另一个count变量,#并使用.keys()方法再次遍历每个键。我们知道每个键
#IS老师,所以每一个我们通过我们的循环遍历键
通过一个变量#合计增加,最后我们回到总
DEF统计(adict ):my_list = []为键,值在adict 。items ():another_list = [ key ,len (value )] my_list 。append (another_list )返回my_list
#这里我们需要返回一个列表列表,我记得刚开始时做的方式有所不同,但这是我这次的解决
方法。首先,我们创建一个变量来保存列表,然后开始for循环,并将两个变量与.items()
#method一起使用。该方法需要两个变量来保存将要迭代的数据,因为它同时迭代了
#key及其对应的值。在我们的for循环中,我们定义了another_list,该列表包含一个列表,该列表将具有#
当前循环所处于的当前键以及作为列表长度的值。请记住,这里的值变量是
#a list,因为字典中的每个键都包含一个列表。在我们的for循环继续之前,请使用其他
#stuff在循环的下一次迭代中,我们将其称为my_list.append(another_list)。我们的for循环进行的迭代次数与
#list中存在的项目
一样多。因此,在每次迭代中,它都会构建another_list变量,并将其附加到my_list上,并在最终返回my_list(现在是列表列表)后继续执行#。
DEF课程(adict ):all_classes = []为值在adict 。values ():对于a_class ,其值是:all_classes 。append (a_class )返回all_classes
#最后,我们只需要返回所有班级的列表,所以现在我们使用.values()方法,因为我们不再关心
#成为关键的老师,我们只关心保存在班级中的班级#值
是列表。所以在这里我们需要使用一个嵌套的for循环,因为我们有一个可迭代的字典,
在它的值(是类列表)中
保留了#anable的另一种类型。因此,我们告诉它对值进行迭代,然后告诉#another for循环对a_class的值进行迭代。这有效地解压缩了每个值所保存的所有列表,并且
#在我们的内部for循环的每次迭代中,我们告诉它将每个类附加到我们的变量all_classes上,这是一个空列表。
#最后返回all_classes,这将给我们一个漂亮的列表,而不是列表列表。末日:D
抱歉,注释的格式不正确,只需突出显示文本并在拖动时将鼠标移到上方使其滚动即可。请阅读我的评论,希望我不会再让您感到困惑,但是我也不想只分发代码行而没有任何解释,否则我不是真正为您提供服务。祝您编码愉快!