Una forma elegante de extraer una tupla de la lista de tuplas con el valor mínimo de elemento

Tengo una lista de la tupla de la que quiero la tupla con el valor mínimo en el índice 1 . Por ejemplo, si mi lista es como:

 a =[('a', 2), ('ee', 3), ('mm', 4), ('x', 1)] 

Quiero que la tupla devuelta sea ('x', 1) .

Actualmente estoy usando la función sorted para obtener este resultado como:

 min=sorted(a, key=lambda t: t[1])[0] 

¿Hay mejores maneras de hacerlo? Tal vez con la función min ?

Related of "Una forma elegante de extraer una tupla de la lista de tuplas con el valor mínimo de elemento"

Puede usar la función min() con el parámetro key para encontrar la tupla con el valor mínimo en la lista. No hay necesidad de ordenar la lista. Por lo tanto, su llamada min debe ser como:

 >>> min(a, key=lambda t: t[1]) ('x', 1) 

Incluso es mejor utilizar operator.itemgetter() lugar de la expresión lambda ; Como itemgetter son comparativamente más rápidos. En este caso, la función de llamada a min debería ser como:

 >>> from operator import itemgetter >>> min(a, key=itemgetter(1)) ('x', 1) 

Nota: min() es una función incorporada en Python. No debes usarlo como nombre de variable.

Esto también funcionará:

 min([x[::-1] for x in a])[::-1] # ('x', 1)