Dada una lista de strings, la tarea es escribir un programa Python para extraer todos los caracteres que son iguales en un índice específico de cada elemento de una lista.
Entrada : test_list = [“geeks”, “weak”, “beak”, “peek”]
Salida : [‘e’, ‘k’]
Explicación : e y k son iguales en un índice en todas las strings.Entrada : test_list = [“geeks”, “weak”, “beak”, “peer”]
Salida : [‘e’]
Explicación : e está al mismo tiempo en un índice en todas las strings.
Método 1: Usar min() , len() y loop
En esto, inicialmente se extrae la string de longitud mínima para verificar los índices para iterar y garantizar todos los índices en las strings. Luego, cada índice se verifica en busca de un carácter similar usando un bucle; si se encuentra, el carácter se agrega al resultado.
Python3
# initializing Matrix test_list = ["geeks", "weak", "beak", "peek"] # printing original list print("The original list is : " + str(test_list)) # getting min length string min_len = min(len(ele) for ele in test_list) res = [] for idx in range(0, min_len): flag = True for ele in test_list: # checking for all equal columns if ele[idx] != test_list[0][idx]: flag = False break if flag: res.append(test_list[0][idx]) # printing result print("Extracted similar characters : " + str(res))
Producción:
La lista original es: [‘geeks’, ‘weak’, ‘beak’, ‘peek’]
Caracteres similares extraídos: [‘e’, ‘k’]
Método 2: Usar all() , min() , len() y loop
En esto, realizamos la tarea de verificar que todos los elementos coincidan usando all(), reduciendo un bucle anidado y aumentando la legibilidad.
Python3
# initializing Matrix test_list = ["geeks", "weak", "beak", "peek"] # printing original list print("The original list is : " + str(test_list)) # getting min length string min_len = min(len(ele) for ele in test_list) res = [] for idx in range(0, min_len): # using all() for condition injection if all(ele[idx] == test_list[0][idx] for ele in test_list): res.append(test_list[0][idx]) # printing result print("Extracted similar characters : " + str(res))
Producción:
La lista original es: [‘geeks’, ‘weak’, ‘beak’, ‘peek’]
Caracteres similares extraídos: [‘e’, ‘k’]
La complejidad de tiempo y espacio para todos los métodos es la misma:
Complejidad temporal: O(n 2 )
Complejidad espacial: O(n)
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA