1>创建一个嵌套字典,其中包含您在今年秋季和春季学期中所做主题的主题编号。换句话说,你应该有一个带有2个键的字典,“Autumn”和“Spring”,与这些键相关的值本身应该是字典,其中键是主题编号,值是主题的名称。
2>写一个for循环,打印出你在秋天所做的主题的数量。
这就是我所拥有的
my_subjects = {"Autumn": {37315:"Data", 34567:"Sci"}, "Spring": {23456:"Eng", 45879:"Math"}}
for season, season.subjects in my_subjects.items():
print("\n Autumn Subject Numbers", season)
for key in season.subjects:
print(key)
AttributeError Traceback (most recent call last)
<ipython-input-208-b1fceae351e6> in <module>()
5
6
----> 7 for season, season.subjects in my_subjects.items():
8 print("\n Autumn Subject Numbers", season)
9
AttributeError: 'str' object has no attribute 'subjects'
使用.
中的season.subjects
运算符,您正在尝试访问subjects
对象的season
属性,该属性没有此类属性。您应该将my_subjects.items()
返回的元组中第二个项的值赋给一个单独的变量:
for season, subjects in my_subjects.items():
if season == 'Autumn':
print("Autumn Subject Numbers:", ', '.join(map(str, subjects)))
这输出:
Autumn Subject Numbers: 37315, 34567
试试这个
my_subjects = {"Autumn": {37315:"Data", 34567:"Sci"}, "Spring": {23456:"Eng", 45879:"Math"}}
for season, data in my_subjects.items():
print("\n Autumn Subject Numbers", season)
for key in data:
print(key)
这个怎么样 ?
new_dict = {}
for k, v in my_subjects.items():
for x, z in v.items():
if k not in new_dict:
new_dict[k] = [x]
else:
new_dict[k].append(x)
print(new_dict)
{'Autumn': [37315, 34567], 'Spring': [23456, 45879]}