2017-05-10 5 views
-1

J'ai essayé pendant un mois et ne peux pas obtenir n'importe où avec ceci. J'ai un examen très bientôt mais je ne peux pas comprendre cela. J'ai besoin d'un moyen de diviser une instruction CamelCase en une liste en python, et la liste devrait avoir de la place pour 10 mots. Si moins de 10 mots figurent dans la déclaration, les points vides de la liste doivent indiquer (Vide).Comment diviser CamelCase en une liste (python)

[modifier] l'entrée serait quelque chose comme ThisIsCamelCase et la sortie attendue serait un tableau dont le contenu sont Cette est- Camel cas (vide) (vide)

si jusqu'à présent, je suis en mesure de mettre cela ensemble:

def un_camel(input): output = [input[0].lower()] for c in input[1:]: if c in ('ABCDEFGHIJKLMNOPQRSTUVWXYZ'): output.append(' ') output.append(c.lower()) else: output.append(c) return str.join('', output) Il peut diviser CamelCase mais pas accomplir la partie du tableau

+0

Généralement, les gens se sentent frustrés quand ils ne reçoivent pas la solution même pour 1 jour, ils demandent de l'aide!^_^Comment pourriez-vous essayer pendant un mois? Quoi qu'il en soit, pouvez-vous poster des entrées et leur sortie attendue?) –

+0

Il pourrait être utile de nous montrer un peu de code de ce que vous avez essayé jusqu'ici. –

+0

@PriyeshKumar ouais je viens d'éditer la question – unidentified2000

Répondre

0

En utilisant une expression régulière ferait la plupart du travail:

In [10]: import re 

In [11]: re.sub('([a-z])([A-Z])', r'\1 \2', 'ThisIsCamelCase').split() 
Out[11]: ['This', 'Is', 'Camel', 'Case'] 

Faire la liste des 10 articles longue:

In [23]: a = re.sub('([a-z])([A-Z])', r'\1 \2', 'ThisIsCamelCase').split() 

In [24]: a + [None]*(10 - len(a)) 
Out[24]: ['This', 'Is', 'Camel', 'Case', None, 
      None, None, None, None, None] 

(Cela semble être une chose unPythonic à faire, par la voie).

Si vous doit utilisation (Empty) au lieu d'une valeur raisonnable comme None:

In [26]: a + ['(Empty)']*(10 - len(a)) 
Out[26]: 
['This', 'Is', 'Camel', 'Case', '(Empty)', 
'(Empty)', '(Empty)', '(Empty)', '(Empty)', '(Empty)'] 
+0

mec vous êtes un sauveteur. En ce qui concerne la chose (vide), cela nous a été précisé par le jury d'examen et nous n'avons pas vraiment notre mot à dire à ce sujet. – unidentified2000