【问题标题】:Accessing a Dictionary Using Get使用 Get 访问字典
【发布时间】:2014-08-31 02:23:36
【问题描述】:

对于这个问题,假设已经执行了以下赋值语句。

weekdays = {'Sunday':0, 'Monday':1, 'Tuesday':2, 'Wednesday':3,
            'Thursday':4, 'Friday':5, 'Saturday':6}

假设变量day 包含的值可能是也可能不是一天的名称。使用 get 编写一个赋值语句,如果 day 包含一天的名称,则将日期编号分配给 day_num,否则将分配给 -1

例如,如果 day 是 'Wednesday',那么 day_num 应该是 3,如果 day'Talk Like a Pirate Day',那么 day_num 应该是 -1

这是我的代码:

day_num = weekdays.get(day)
if day_num==None:
   day_num=-1

我只是不明白为什么它仍然是错误的;我认为这是正确的。作业系统持续显示

你应该只使用一个赋值语句(别无其他)

【问题讨论】:

    标签: python python-3.x dictionary get


    【解决方案1】:

    您正在使用两个赋值语句。或许你应该给dict.get()一个second参数:

    day_num = weekdays.get(day, -1)
    

    如果字典中不存在day,则第二个参数是默认返回的;默认默认是None,但这里我返回-1

    这为您节省了对 is None 的测试和第二次分配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 2020-01-09
      相关资源
      最近更新 更多