Python elegant assignment based on True/False values

后端 未结 11 1610
日久生厌
日久生厌 2021-01-31 09:32

I have a variable I want to set depending on the values in three booleans. The most straight-forward way is an if statement followed by a series of elifs:

if a a         


        
11条回答
  •  野性不改
    2021-01-31 10:00

    How about using a dict?

    name = {(True, True, True): "first", (True, True, False): "second",
            (True, False, True): "third", (True, False, False): "fourth",
            (False, True, True): "fifth", (False, True, False): "sixth",
            (False, False, True): "seventh", (False, False, False): "eighth"}
    
    print name[a,b,c] # prints "fifth" if a==False, b==True, c==True etc.
    

提交回复
热议问题