Python inline if statement

Viewed 10834

Could someone help me with the syntax of the following or tell me if it is possible or not? As I am going to modify the if ... else ... condition. I don't want to add duplicated values in the list, but I got a KeyError.

Actually, I am not familiar with this kind of statements:

twins[value] = twins[value] + [box] if value in twins else [box]

what does this exactly mean?

Sample code

#dictionary
twins = dict()                  
#iterate unitlist
for unit in unitlist:                                              
    #finding each twin in the unit
    for box in unit:                            
        value = values[box]                               
        if len(value) == 2: 
            twins[value] = twins[value] + [box] if value in twins else [box]

I modified the condition

#dictionary
twins = dict()                  
#iterate unitlist
for unit in unitlist:                                              
    #finding each twin in the unit
    for box in unit:                            
        value = values[box]                               
        if len(value) == 2:                            
            if value not in twins:                    
                twins[value] = twins[value] + [box]
2 Answers
Related