Comparación de strings que no distingue entre mayúsculas y minúsculas en Python

Generalmente usamos listas de Python para almacenar elementos. Una aplicación de compras en línea puede contener una lista de artículos para que el usuario pueda buscar el artículo en la lista de artículos. Por ejemplo, nuestra aplicación de compras tiene una lista de las computadoras portátiles que vende. La lista contiene muchas marcas y una de ellas es ‘Lenovo’. Si queremos comprar un portátil de la marca Lenovo vamos a la barra de búsqueda de la aplicación de compras y buscamos ‘Lenovo’. Luego muestra todos los modelos de portátiles Lenovo. Pero a veces el usuario puede escribir ‘lenovo’ en minúsculas o ‘LENOVO’ en mayúsculas. Incluso entonces debería mostrar todos los modelos de portátiles Lenovo. Eso significa que debemos realizar una verificación que no distinga entre mayúsculas y minúsculas.

 Insensible a mayúsculas y minúsculas significa que la string que está comparando debe ser exactamente igual a la string que se va a comparar, pero ambas strings pueden estar en mayúsculas o minúsculas. (es decir, diferentes casos)

Ejemplo 1: conversión a minúsculas para comparar

En este ejemplo, la string de usuario y cada elemento de la lista se convierten a minúsculas y luego se realiza la comparación.

Python3

# conversion to lowercase for search
 
#function to search item
def check_Laptops():
 
    laptops = ['Msi', 'Lenovo', 'Hp', 'Dell']
 
    your_laptop = 'lenovo'
 
    # 'lenovo' is in lower case but it is present in the list of laptops.
 
    for lapy in laptops:
       
      #convert to lowercase and compare
        if your_laptop.lower() == lapy.lower():
 
            return True
 
    else:
 
        return False
 
# If the function returns true
if check_Laptops():
 
    print('Laptop is present')
     
 
# If function returns false
else:
 
    print('Laptop is not present')
Producción

Laptop is present

Ejemplo 2: conversión a mayúsculas para comparar

En este ejemplo, la string de usuario y cada elemento de la lista se convierten a mayúsculas y luego se realiza la comparación. 

Python3

# conversion to upper case
 
# Function to search item
def check_Laptops():
 
  laptops = ['Msi', 'Lenovo', 'Hp', 'Dell']
 
  your_laptop = 'HP'
 
  # 'HP' is in upper case but it is
  # present in the list of laptops.
 
  for lapy in laptops:
     
    # convert to uppercase and compare
      if your_laptop.upper() == lapy.upper():
 
          return True
 
  else:
 
      return False
 
 
if check_Laptops():
 
  #If the function is true
  print('Laptop is present')
 
else:
 
  #If the function returns false
  print('Laptop is not present')
Producción

Laptop is present

Ejemplo 3: 

En este ejemplo, la string no está presente en la lista. Por lo tanto, la búsqueda que no distingue entre mayúsculas y minúsculas también devuelve false .

Python3

# Function to search item
def check_Laptops():
 
  laptops = ['Msi', 'Lenovo', 'Hp', 'Dell']
 
  your_laptop = 'Acer'
 
  for lapy in laptops:
     
    #convert to lower and compare
      if your_laptop.lower() == lapy.lower():
          return True
 
  else:
      return False
 
if check_Laptops():
   
  # If the function returns false
  print('Laptop is present')
 
else:
 
  # If the function returns false
  print('Laptop is not present')
Producción

Laptop is not present

Ejemplo 4: Comparación usando casefold()

El método casefold() funciona de manera similar al método lower(). Pero en comparación con el método lower(), realiza una comparación estricta de strings al eliminar todas las distinciones de mayúsculas y minúsculas presentes en la string. En alemán, ‘ β ‘ equivale a “ ss ”. Pero es posible que todos los usuarios no sepan alemán, por lo que el método casefold() convierte la letra alemana ‘β’ en ‘ss’, mientras que no podemos convertir la letra alemana ‘β’ en ‘ss’ utilizando el método lower().

En este ejemplo, estamos comprobando si nuestra clase está presente en la lista de clases o no.

Python3

#initial list
classrooms=['class1','class2','CLASS3','class4','class5']
 
# class to be searched
class_room='claß3'
 
#' claß3' means 'class3'
 
#function to search item
def search_classroom():
   for classes in classrooms:
       if class_room.casefold()==classes.casefold():
           return True
 
   else:
       return False
 
if search_classroom():
   
  # If function returns true
   print('Classroom you are searching is present')
 
else:
   
  # If function returns false
   print('Classroom you are searching is not present')
Producción

Classroom you are searching is present

Estos son los métodos en Python para la comparación de strings que no distingue entre mayúsculas y minúsculas.

Publicación traducida automáticamente

Artículo escrito por anudeepkosuri123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *