Python: asigna el alfabeto a cada elemento

Dada una lista de elementos, asigne un alfabeto similar al mismo elemento.

Entrada : test_list = [4, 5, 2, 4, 2, 6] 
Salida : [‘a’, ‘b’, ‘c’, ‘a’, ‘c’, ‘d’] 
Explicación : Alfabetos asignados a elementos como ocurriendo.

Entrada : test_list = [4, 5, 2, 4, 2, 6] 
Salida : [‘a’, ‘b’, ‘c’, ‘a’, ‘c’] 
Explicación : Alfabetos asignados a elementos a medida que ocurren. 
 

Método #1: Usar ascii_lowercase() + bucle + comprensión de lista 

En esto, extraemos todos los alfabetos en minúsculas usando minúsculas(), y creamos un diccionario que asigna el mismo elemento a un carácter similar, publicamos que lo aplanamos al índice apropiado usando la comprensión de lista.

Python3

# Python3 code to demonstrate working of
# Assign Alphabet to each element
# Using ascii_lowercase() + loop + list comprehension
import string
 
# initializing list
test_list = [4, 5, 2, 4, 2, 6, 5, 2, 5]
 
# printing list
print("The original list : " + str(test_list))
 
temp = {}
cntr = 0
for ele in test_list:
    if ele in temp:
        continue
     
    # assigning same Alphabet to same element
    temp[ele] = string.ascii_lowercase[cntr]
    cntr += 1
     
# flattening
res = [temp.get(ele) for ele in test_list]
 
# printing results
print("The mapped List : " + str(res))
Producción

The original list : [4, 5, 2, 4, 2, 6, 5, 2, 5]
The mapped List : ['a', 'b', 'c', 'a', 'c', 'd', 'b', 'c', 'b']

Método #2: Usando defaultdict() + ascii_lowercase() + iter()

En esto, usamos defaultdict() para asignar valores a elementos similares, ascii_lowercase() se usa para obtener todos los alfabetos en minúsculas en minúsculas.

Python3

# Python3 code to demonstrate working of
# Assign Alphabet to each element
# Using defaultdict() + ascii_lowercase() + iter()
from collections import defaultdict
import string
 
# initializing list
test_list = [4, 5, 2, 4, 2, 6, 5, 2, 5]
 
# printing list
print("The original list : " + str(test_list))
 
# assigning lowercases as iterator
temp = iter(string.ascii_lowercase)
 
# lambda functions fits to similar elements
res = defaultdict(lambda: next(temp))
 
# flatten in list
res = [res[key] for key in test_list]
 
# printing results
print("The mapped List : " + str(list(res)))
Producción

The original list : [4, 5, 2, 4, 2, 6, 5, 2, 5]
The mapped List : ['a', 'b', 'c', 'a', 'c', 'd', 'b', 'c', 'b']

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 *