Estoy tratando de comparar una cadena llamada facility
con varias cadenas posibles para probar si es válida. Las cadenas válidas son:Comparar una cadena con varios elementos en Python
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7
¿Hay una manera eficiente de hacerlo que no sea:
if facility == "auth" or facility == "authpriv" ...
Sí, ese sería el camino a seguir. http://wiki.python.org/moin/PythonSpeed es una lectura bastante buena para cualquier persona interesada en una visión general de la eficiencia en Python. Sin embargo, no sabría el tiempo promedio para ' set() 'would you? –
Gracias por este +1, aceptado – n0pe
Un posible inconveniente con esto es que el orden de iteración sobre ellos se vuelve impredecible, pero eso es solo un problema si los está usando para cualquier otra cosa (como imprima la lista de cadenas aceptadas en un mensaje de ayuda). – Ben