这是我第二次面对这种代码:
if "associé" in gender or "gérant" in gender or "président" in gender or "directeur" in gender:
gen = "male"
elif "associée" in gender or "gérante" in gender or "présidente" in gender or "directrice" in gender:
gen = "female"
else:
gen = "error"
我想找到一个更有效的方法来写这段代码,因为它看起来非常糟糕。你知道吗
我个人喜欢用^{} 来做这件事。例如:
&
用于集合交集操作,该操作返回一个新的set
,集合在&
两侧共享项。只有当gender
和opts
中存在重叠时,才会执行if
块。也可以对elif
重复此过程,创建一个可能选项的列表,并检查该列表与gender
之间的重叠。总之,你可以这样做:另外,正如@Copperfield指出的那样。通过创建
*_opt
变量集(甚至可能是gender
集),可以进一步提高效率:编辑:
上面的代码假设
gender
是一个iterable,但是从注释来看,它似乎是一个字符串(例如'associé gérant'
)。尽管此时接受的答案更好,但您仍然可以通过将gender
作为组成字符串的一组单词来使用此解决方案:如果不能在一个
gender
字符串中有多个这样的刺痛,可能是这样的?你知道吗使用列表和
any
:相关问题 更多 >
编程相关推荐