2017-05-10 18 views
-1

私は1ヶ月間試してきましたが、これでどこにも行けません。私はすぐに試験を受けますが、これを理解することはできません。 CamelCase文をPythonのリストに分割する方法が必要です。リストには10​​語分のスペースが必要です。文中に10語未満の単語がある場合は、リストの空白部分に(空)と表示されます。CamelCaseをリストに分割する方法(Python)

[編集] 入力がThisIsCamelCase ようなものになるだろうと予想される出力はそうであるの内容 この は キャメル ケースです (空) (空)

配列になりますこれまで私は、一緒にこれを置くことができました:

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) それはキャメルケースを分割が、配列の一部を達成することはできません

仕事のほとんどを行うだろう正規表現を使用して
+0

彼らも、1日のために解決策を得ることはありませんので、彼らが助けを求める時に一般の人がイライラ!^_ ^どうやって月にしようか?とにかくあなたは入力とそれらの期待される出力plzzを投稿することができます;) –

+0

これまでに試したことのいくつかのコードを示すのに役立つかもしれません。 –

+0

@PriyeshKumar yeah私はちょうど質問を編集しました – unidentified2000

答えて

0

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] 

(これは方法によって、行うにはunPythonicことのように思える):

In [10]: import re 

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

は、10項目の長いリストを作成します。

あなたNoneのような実用的な値の代わりに(Empty)を使用する必要がある場合:

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

あなたは命の恩人です。限り、(空)事が行く限り、それは基本的に試験委員会によって私たちに指定され、我々は実際にその問題で言うことはありません。 – unidentified2000

関連する問題