将 CamelCase 中的字符串分隔为单独的字符串

Separating strings in CamelCase to individual strings

题目如下:

"A string exists in CamelCase format. For example: "ThisIsACamelCaseString".

需要 procedure/function 将:

1) 提示输入原始条目
2) 分隔字符串的每个单词
3) 将每个单词存储在单独的 array/list 元素中
4) 用流氓字符串填充未使用的 array/list 元素,例如“(Empty)”。

处理完前面的例子后,数组内容将如下所示:

This
Is
A
Camel
Case
String
(Empty)
(Empty)
(Empty)
(Empty)

您可以假设原始字符串包含的独立单词不超过 10 个。本设计在Python中编写程序代码。

这是我试过的:

a = input("Enter: ")
lists = list(a)
len = len(a)
alpha = ["Empty"]*10
alpha[0] = lists[0]
for i in range(len):
    for j in range(len):
        if lists[j + 1].isupper():
            break
        alpha[i] = alpha[i] + lists[j + 1]

for i in range(10):
    print(alpha[i])

如何找到合适的代码?

使用正则表达式拆分驼峰式大小写

或者只是循环遍历字符串。

这是一种方法:

a = 'ThisIsACamelCaseString'
b = [i for i, e in enumerate(a) if e.isupper()] + [len(a)]
c = [a[x: y] for x, y in zip(b, b[1:])] 
final = ['(Empty)']*10
for i, case in enumerate(c):
    final[i] = case