["a", "b", ... ,"z"]
Quand il y a une liste comme ↑, je veux la diviser en 5 caractères tels que a à e et f à j. Je voudrais également inclure le dernier z restant dans la liste.
En d'autres termes
["un orteil", "f à j", ..., "z"]
Je voudrais le diviser en sous-listes comme.
Mettez toutes les chaînes en file d'attente et récupérez-les toutes les cinq. De plus, en récupérant uniquement les files d'attente non vides, le dernier élément restant et au-delà sont ignorés.
split.py
import queue
#Créer une liste de personnages de a à z
chars = [chr(ord('a') + i) for i in range(26)]
#Créer une file d'attente
q = queue.Queue()
#Insérer une liste de caractères dans la file d'attente
for s in chars:
q.put(s)
#Liste de stockage des caractères fractionnés
subList = []
#Diviser la liste des personnages
while not q.empty():
#Enregistrer temporairement la liste fractionnée
splittedList = []
#Séparez tous les 5
for i in range(5):
if not q.empty():
splittedList.append(q.get())
#Stocker dans la sous-liste
subList.append(splittedList)
#production
print(subList)
>python split.py
[['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h', 'i', 'j'], ['k', 'l', 'm', 'n', 'o'], ['p', 'q', 'r', 's', 't'], ['u', 'v', 'w', 'x', 'y'], ['z']]
Nous avons reçu un commentaire de @shiracamus. Merci beaucoup.