Dado un String, conviértalo en Matrix, con K caracteres en cada fila.
Entrada : test_str = ‘GeeksforGeeks es mejor’, K = 7
Salida : [[‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘f’, ‘o’], [‘r’ , ‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘ ‘], [‘i’, ‘s’, ‘ ‘, ‘b’, ‘e’, ’s’, ‘ t’]]
Explicación : cada carácter se asigna a una fila de 7 elementos en la array.Entrada : test_str = ‘GeeksforGeeks’, K = 7
Salida : [[‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘f’, ‘o’], [‘r’, ‘ G’, ‘e’, ’e’, ’k’, ‘s’, ‘ ‘]]
Explicación : cada carácter se asigna a una fila de 7 elementos en la array.
Método n.º 1: uso de la comprensión de listas + segmentación
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, primero extraemos strings separadas para cada fila usando división y comprensión de listas. Luego, convierta cada string en una lista de caracteres usando list() .
Python3
# Python3 code to demonstrate working of # Convert String to K characters row Matrix # Using list comprehension + slicing # Function to Convert String # to K characters row Matrix def convertToMatrix(test_str, K): # slicing strings temp = [test_str[idx: idx + K] for idx in range(0, len(test_str), K)] # conversion to list of characters res = [list(ele) for ele in temp] # printing result print("The converted Matrix : " + str(res)) # Driver Code # initializing string input_str = 'GeeksforGeeks is best' # printing original string print("The original string is : " + str(input_str)) # initializing K K = 7 # calling the function convertToMatrix(input_str, K)
Producción:
La string original es: GeeksforGeeks es mejor La array convertida: [[‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘f’, ‘o’], [‘r’, ‘G ‘, ‘e’, ’e’, ’k’, ‘s’, ‘ ‘], [‘i’, ‘s’, ‘ ‘, ‘b’, ‘e’, ’s’, ‘t’] ]
Complejidad de tiempo : O(n)
Espacio Auxiliar: O(n)
Método n.º 2: Usar comprensión de lista + map() + corte
Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de manera similar a las funciones anteriores, la diferencia es que la conversión a la lista se realiza utilizando map() en lugar de la comprensión de la lista.
Python3
# Python3 code to demonstrate working of # Convert String to K characters row Matrix # Using list comprehension + map() + slicing # Function to Convert String # to K characters row Matrix def convertToMatrix(test_str, K): # slicing strings temp = [test_str[idx: idx + K] for idx in range(0, len(test_str), K)] # conversion using map res = list(map(lambda ele: list(ele), temp)) # printing result print("The converted Matrix : " + str(res)) # Driver Code # initializing string input_str = 'GeeksforGeeks is best' # printing original string print("The original string is : " + str(input_str)) # initializing K K = 7 # calling the function convertToMatrix(input_str, K)
Producción:
La string original es: GeeksforGeeks es mejor La array convertida: [[‘G’, ‘e’, ’e’, ’k’, ‘s’, ‘f’, ‘o’], [‘r’, ‘G ‘, ‘e’, ’e’, ’k’, ‘s’, ‘ ‘], [‘i’, ‘s’, ‘ ‘, ‘b’, ‘e’, ’s’, ‘t’] ]
Complejidad de tiempo : O(n)
Espacio Auxiliar: 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