Python – Prefijo condicional en la lista

Dada una lista de elementos, adjunte diferentes prefijos según la condición.

Entrada : test_list = [45, 53, 76, 86, 3, 49], pref_1 = “LOSE-“, pref_2 = “WIN-” 
Salida : [‘LOSE-45’, ‘WIN-53’, ‘WIN-76 ‘, ‘WIN-86’, ‘LOSE-3’, ‘LOSE-49’] 
Explicación : Todos los 50+ tienen el prefijo «WIN-» y otros como «LOSE-«.
Entrada : test_list = [78, 53, 76, 86, 83, 69], pref_1 = “LOSE-“, pref_2 = “WIN-” 
Salida : [‘WIN-78’, ‘WIN-53’, ‘WIN-76 ‘, ‘WIN-86’, ‘WIN-83’, ‘WIN-69’] 
Explicación : Todos tienen más de 50, por lo tanto, tienen el prefijo «WIN-«. 
 

Método #1: Usar bucle

Esta forma bruta en la que se puede realizar esta tarea. En esto, realizamos la tarea de adjuntar el prefijo usando un operador condicional y un bucle.

Python3

# Python3 code to demonstrate working of
# Conditional Prefix in List
# Using loop
 
# initializing list
test_list = [45, 53, 76, 86, 3, 49]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing pref 1
pref_1 = "LOW-"
 
# initializing pref 2
pref_2 = "HIGH-"
 
res = []
for ele in test_list:
     
    # appending prefix on greater than 50 check
    if ele >= 50:
        res.append(pref_2 + str(ele))
    else :
        res.append(pref_1 + str(ele))
         
# printing result
print("The prefixed elements : " + str(res))
Producción

The original list : [45, 53, 76, 86, 3, 49]
The prefixed elements : ['LOW-45', 'HIGH-53', 'HIGH-76', 'HIGH-86', 'LOW-3', 'LOW-49']

Método #2: Usar la comprensión de listas

Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos la tarea similar a la anterior como un trazador de líneas utilizando la comprensión de listas.

Python3

# Python3 code to demonstrate working of
# Conditional Prefix in List
# Using list comprehension
 
# initializing list
test_list = [45, 53, 76, 86, 3, 49]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing pref 1
pref_1 = "LOW-"
 
# initializing pref 2
pref_2 = "HIGH-"
 
# solution encapsulated as one-liner and conditional checks
res = [pref_2 + str(ele) if ele >= 50 else pref_1 + str(ele) for ele in test_list]
         
# printing result
print("The prefixed elements : " + str(res))
Producción

The original list : [45, 53, 76, 86, 3, 49]
The prefixed elements : ['LOW-45', 'HIGH-53', 'HIGH-76', 'HIGH-86', 'LOW-3', 'LOW-49']

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 *