0
votes

Python: Liste de la date de changement de DDMM à DD-MM

J'ai une liste de dates, c'est-à-dire une liste de dates, i.e.:

dates = 11-04, 15-04, 17-04, 22-04


3 commentaires

Est-ce que cela répond à votre question? Parse Date String and Change Format


Je ne pense pas que l'analyse est nécessaire que simple tranchage de chaîne fera


Si une telle ligne est un code réel, quel type de données sont dates éléments? int ?


3 Réponses :


2
votes

Je ne pense pas que vous ayez besoin de DateTime code> pour cette tâche simple.

Vous pouvez utiliser la tranche de chaîne ici pour revenir au tuple des chaînes dans "dd-mm" code> format. Vous pouvez tout trancher jusqu'au 2e caractère (mais non compris) avec [: 2] code>, et tout après le deuxième caractère avec [2:] code>. Ensuite, vous pouvez simplement mettre un tableau de bord "-" code> entre les tranches. P>

>>> dates = input()
1104, 1504, 1704, 2204
>>> dates
'1104, 1504, 1704, 2204'
>>> tuple(f"{x[:2]}-{x[2:]}" for x in map(str.strip, dates.split(",")))
('11-04', '15-04', '17-04', '22-04')


2 commentaires

Comment le feriez-vous du travail si je dessine les dates d'entrée ()?


@ user2803490 a ajouté un moyen de le faire avec entrée () .



2
votes

Tranchement de manière lisible

dates = ["1104", "1504", "1704", "2204"]
new_dates = [date[:2] + "-" + date[2:] for date in dates]
print(new_dates)


0 commentaires

4
votes

Tout d'abord, vous devez convertir toutes les dates en chaînes (si elles sont déjà des chaînes, vous pouvez ignorer cette étape):

datesSeparated = [i[:2] + "-" + i[2:] for i in dates]


3 commentaires

C'est très bien, merci. Mais si j'essaie de saisir les dates avec une entrée, je reçois quelque chose comme choisir des dates: 1104, 1504 ['1-', '1-', '0-', '4-', '-' - '-' - '-' , '1-', '5-', '0-', '4-']


Étant donné que carte (str, dates) vous donnera un générateur, vous n'avez pas besoin de lancer la liste () lors de l'itération.


@Roadrunner je ne savais pas ça, merci de me dire