验证码:怎样才能让这些代码3个系更加干燥
if len(group['elements']) > 0:
groups.append(group)
group = {'bla': '', 'elements': []}
在下面的例子中重复3次。我想把它放在1行(至少使它减少)。有可能吗?那我该怎么做?
collection_of_items = [
['strong', 'a', ['a'], '', 'strong', ['a'], ['a'], 'a', 'a', [], ''],
['strong', 'a', ['a'], '', 'strong', 'a']
]
groups = []
for items in collection_of_items:
group = {'bla': '', 'elements': []}
for item in items:
if hasattr(item, 'lower'):
if item == 'strong':
group['bla'] = item
elif item =='a':
group['elements'].append(item)
elif item == '':
# Make it DRY <---------------------------------------
if len(group['elements']) > 0:
groups.append(group)
group = {'bla': '', 'elements': []}
else:
if 'a' in item:
group['elements'].append(item[0])
else:
# Make it DRY <---------------------------------------
if len(group['elements']) > 0:
groups.append(group)
group = {'bla': '', 'elements': []}
# Make it DRY <---------------------------------------
if len(group['elements']) > 0:
groups.append(group)
group = {'bla': '', 'elements': []}
print(groups)
修改这些三线,
注意:做任何事情,但示例代码结构不能改变
对不起,我的错误。
第一事物优先:*使用四个空格进行缩进*。但是,你不能把它包装在一个函数中吗? –
对不起。实际上我使用在线ide。这就是为什么2个空格。现在更新 –