Python – Coordenadas de caracteres en Matrix

A veces, mientras trabajamos con datos de Python, podemos tener un problema en el que necesitamos extraer todas las coordenadas en Matrix, que son caracteres. Este tipo de problema puede tener una aplicación potencial en dominios como el desarrollo web y la programación diaria. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [‘1G’, ’12F’, ‘231G’]
Salida : [(0, 1), (1, 2), (2, 3)]

Entrada : test_list = [‘G’, ‘F’, ‘G’]
Salida : [(0, 0), (1, 0), (2, 0)]

Método #1: Usarenumerate() + list comprehension + isalpha()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de trabajar con índices usando enumerate y el filtrado de caracteres se realiza usando isalpha().

# Python3 code to demonstrate working of 
# Character coordinates in Matrix
# Using enumerate() + list comprehension + isalpha()
          
# initializing list
test_list = ['23f45.;4d', '5678d56d', '789', '5678g']
  
# printing original list
print("The original list is : " + str(test_list))
  
# Character coordinates in Matrix
# Using enumerate() + list comprehension + isalpha()
res = [(x, y) for x, val in enumerate(test_list) 
        for y, chr in enumerate(val) if chr.isalpha()]  
  
# printing result 
print("Character indices : " + str(res)) 
Producción :

The original list is : ['23f45.;4d', '5678d56d', '789', '5678g']
Character indices : [(0, 2), (0, 8), (1, 4), (1, 7), (3, 4)]

Método n.º 2: usar regex()el bucle +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de filtrar alfabetos usando expresiones regulares. Simplemente devuelve la primera aparición de un carácter en cada string.

# Python3 code to demonstrate working of 
# Character coordinates in Matrix
# Using regex() + loop
import re
          
# initializing list
test_list = ['23f45.;4d', '5678d56d', '789', '5678g']
  
# printing original list
print("The original list is : " + str(test_list))
  
# Character coordinates in Matrix
# Using regex() + loop
res = []
for key, val in enumerate(test_list):
    temp = re.search('([a-zA-Z]+)', val)
    if temp :
        res.append((key, temp.start()))
          
# printing result 
print("Character indices : " + str(res)) 
Producción :

The original list is : ['23f45.;4d', '5678d56d', '789', '5678g']
Character indices : [(0, 2), (1, 4), (3, 4)]

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

Deja una respuesta

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