专栏名称: dwzb
目录
相关文章推荐
武汉本地宝  ·  湖北消费补贴人人可领!家电/3C数码/电动车 ... ·  2 天前  
顶端新闻  ·  国足0-1沙特继续垫底,主教练回应 ·  昨天  
顶端新闻  ·  国足0-1沙特继续垫底,主教练回应 ·  昨天  
青岛日报  ·  一觉醒来,国足输了!小组垫底 ·  昨天  
青岛日报  ·  一觉醒来,国足输了!小组垫底 ·  昨天  
武汉发布  ·  大反转!直冲31℃!立刻开始“满减”…… ·  2 天前  
51好读  ›  专栏  ›  dwzb

switch的python实现

dwzb  · 掘金  ·  · 2018-05-24 03:32

正文

switch的python实现

本文首发于 知乎

我们知道,python是没有switch语句的,所以当我们要实现这样结构的逻辑时:

var index = 10

switch index {
   case 100  :
      print( "index 的值为 100")
   case 10,15  :
      print( "index 的值为 10 或 15")
   case 5  :
      print( "index 的值为 5")
   default :
      print( "默认 case")
}

经常需要用多个if-else来实现。除此之外,我们还可以考虑用字典对应提取的方式来实现,下面我们给出四种实现switch的方法,并对比这四种方法的运行时间

something = 'something'

# 第一种,多次使用if-else结构
if something == 'this':
    the_thing = 1
elif something == 'that':
    the_thing = 2
elif something == 'there':
    the_thing = 3
else:
    the_thing = 4
    
# 第二种,用get设置默认值的字典提取
options = {'this': 1, 'that': 2, 'there': 3}
the_thing = options.get(something, 4)

# 第三种,用if-else配合不设置默认值的字典提取
options = {'this': 1, 'that': 2, 'there'






请到「今天看啥」查看全文