Dada una lista de strings, extraiga la lista que tiene cualquier sucesión de caracteres tal como aparecen en orden alfabético.
Entrada : test_list = [‘gfg’, ‘ij’, ‘best’, ‘for’, ‘geeks’]
Salida : [‘ij’, ‘gfg’, ‘best’]
Explicación : ij, fg, st son pares consecutivos .Entrada : test_list = [‘gf1g’, ‘in’, ‘besht’, ‘for’, ‘geeks’]
Salida : []
Explicación : No hay pares consecutivos.
Método #1: Usar ord() + loop
En esto, verificamos para cada string si contiene un carácter con es el sucesor alfabético de su carácter anterior, la conversión ASCII se realiza usando ord().
Python3
# Python3 code to demonstrate working of # Extract Strings with successive Alphabets # Using ord() + loop # initializing string list test_list = ['gfg', 'is', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) res = [] for sub in test_list: # iterating for string for idx in range(len(sub) - 1): # checking for alphabetic consecution if ord(sub[idx]) == ord(sub[idx + 1]) - 1: res.append(sub) break # printing result print("Strings with alphabetic consecution : " + str(res))
The original list is : ['gfg', 'is', 'best', 'for', 'geeks'] Strings with alphabetic consecution : ['gfg', 'best']
Método #2: Usar any() + filter() + lambda
En esto, verificamos cualquier sucesión usando any(), y la tarea de filtrado se realiza usando filter() y la función lambda.
Python3
# Python3 code to demonstrate working of # Extract Strings with successive Alphabets # Using any() + filter() + lambda # initializing string list test_list = ['gfg', 'is', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) # filtering using filter, and checking for any substring using any() res = list(filter(lambda sub: any(ord(sub[idx]) == ord( sub[idx + 1]) - 1 for idx in range(len(sub) - 1)), test_list)) # printing result print("Strings with alphabetic consecution : " + str(res))
The original list is : ['gfg', 'is', 'best', 'for', 'geeks'] Strings with alphabetic consecution : ['gfg', 'best']
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