etu*_*rdu 6 python coding-style dry
我有一系列的values(L,R,U,D)和两个变量,d并且newd包含其中一个变量.我需要检查是否d和newd相同的子集(L,R或U,D).
我知道我可以这样做:
d in {'L','R'} and newd in {'U','D'} or d in {'U','D'} and newd in {'L','R'}
Run Code Online (Sandbox Code Playgroud)
这确实是返回False,如果它们都具有值L,R或U,D和True其他.尽管如此,我觉得它还有很多.关于更干燥方法的一些建议?
如果您知道只有两个集合并且您的值必须位于其中一个集合中,那么您可以将其简化为:
(d in set1) == (newd in set2)
Run Code Online (Sandbox Code Playgroud)
解释:
==,True因此表达式返回True。==,False因此表达式返回True。==将返回False,另一侧将返回True,因此表达式的结果将是False。