如何返回字典的值列表并将它们填充到列表中?

时间:2017-03-07 06:00:08

标签: python-2.7 list dictionary

dctCourses = {1000:'Intro to IS',1505:'Fundamentals of Programming',1515:'Web Programming Overview',2550:'Visuals Basic I',2560:'Visual Basic II'}

lstCourseKeys = []

index5 = 0

for key in dctCourses:
    lstCourseKeys.append(key)
    index5 =index5 + 1

lstCourseKeys.sort()

index6 = 0

for item in lstCourseKeys:
    print(item)
    index6 = index6 + 1

lstCourseValues = []

index7 = 0

for value in dctCourses:
    lstCourseValues.append(value)
    index7 =index7 + 1

lstCourseValues.sort()

index8 = 0

for item in lstCourseValues:
    print(item)
    index8 = index8 + 1

我创建了一个字典,需要创建一个存储密钥的列表和一个存储值的列表,并将两个列表打印回排序列表中。当我运行上面的代码时,我得到了这个

1000
1505
1515
2550
2560
1000
1505
1515
2550
2560

按键列表按预期工作,但我的值列表似乎填充了键而不是值。我错过了什么或者我需要改变什么吗?

1 个答案:

答案 0 :(得分:1)

对于第一部分keys,您可能需要使用dctCourses.iteritems()

for key,_ in dctCourses.iteritems():   #`_` ignores the values
    ...

values类似:

for value in dctCourses.values():      # only getting values
    ...

输出:

1000
1505
1515
2550
2560
Fundamentals of Programming
Intro to IS
Visual Basic II
Visuals Basic I
Web Programming Overview

检查两者仍然是列表:

print type(lstCourseKeys)
print type(lstCourseValues)
<type 'list'>
<type 'list'>