Python: agregar según el carácter Kth

Dada una lista de strings, añada a la string el valor i o j según el valor del índice Kth.

Entrada : test_list = [“geeksforgeeks”, “mejor”, “para”, “geeks”], K = 2, N = ‘e’, ​​i, j = “@@”, “..”
Salida : [‘geeksforgeeks ..’, ‘best@@’, ‘for@@’, ‘geeks..’]
Explicación : geeksforgeeks y geeks que tienen una segunda ocupación similar. valor como ‘e’, ​​por lo tanto, se agrega «..».

Entrada : test_list = [“giiksforgeeks”, “bst”, “for”, “geeks”], K = 2, N = ‘e’, ​​i, j = “@@”, “..”
Salida : [‘giiksforgeeks @@’, ‘best@@’, ‘for@@’, ‘geeks@@’]
Explicación : No hay valores con valor K ‘e’, ​​todos agregados por @@.

Método #1: Usar bucle

Esta es una forma bruta de resolver este problema, verificamos el índice Kth de cada string, si se encuentra que es N, luego se agrega el valor i, de lo contrario se agrega j.

Python3

# Python3 code to demonstrate working of 
# Append according to Kth character
# Using loop
  
# initializing lists
test_list = ["geeksforgeeks", "best", "for", "geeks"]
  
# printing string
print("The original list : " + str(test_list))
  
# initializing K
K = 2 
  
# initializing N 
N = 'e'
  
# initializing i, j 
i, j = "**", "##"
  
res = []
for sub in test_list:
      
    # checking for Kth index to be N
    if sub[K] == N:
        res.append(sub + i)
    else :
        res.append(sub + j)
  
# printing results 
print("The resultant List : " + str(res))
Producción

The original list : ['geeksforgeeks', 'best', 'for', 'geeks']
The resultant List : ['geeksforgeeks**', 'best##', 'for##', 'geeks**']

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

Esto resuelve este problema de manera similar, solo que la diferencia es que es una abreviatura y se puede usar como un enfoque de línea para resolver este problema.

Python3

# Python3 code to demonstrate working of 
# Append according to Kth character
# Using list comprehension
  
# initializing lists
test_list = ["geeksforgeeks", "best", "for", "geeks"]
  
# printing string
print("The original list : " + str(test_list))
  
# initializing K
K = 2 
  
# initializing N 
N = 'e'
  
# initializing i, j 
i, j = "**", "##"
  
# shorthand to solve this problem
res = [sub + i if sub[K] == N else sub + j for sub in test_list]
  
# printing results 
print("The resultant List : " + str(res))
Producción

The original list : ['geeksforgeeks', 'best', 'for', 'geeks']
The resultant List : ['geeksforgeeks**', 'best##', 'for##', 'geeks**']

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 *