在值为列表的字典中列出值

时间:2017-05-06 21:22:30

标签: python

我正在尝试创建一个列表,其中仅包含字典中的课程,其中键是教师,值是课程列表。最终目标是只有一个列表,即值(或课程)。

样本字典:

v = {'Andrew Chalkley': ['jQuery Basics', 'Node.js Basics'],'Kenneth Love': ['Python Basics', 'Python Collections']}

我目前的职能:

def courses(v):
    full_list = []
    course_list = []
    for key in v.values():
        full_list.append(key)
    for course in full_list:
        course_list = course_list.append(course)
    return course_list

我在IDLE中对此进行了测试,第一个for循环将返回一个列表列表,问题似乎是第二个for循环。

2 个答案:

答案 0 :(得分:2)

#use sum to concat values from the dict.

sum(v.values(),[])
Out[178]: ['jQuery Basics', 'Node.js Basics', 'Python Basics', 'Python Collections']

答案 1 :(得分:1)

for course in full_list:
    course_list.extend(course)

这里修复了两个问题:

  1. append修改,但不返回任何内容,因此您不应该使用这样的作业。
  2. extendcourse中的所有元素添加到course_list,而不是将整个列表添加为单个元素。