Pythonic修改带有临时列表的字符串的方法

时间:2016-08-15 17:47:56

标签: python naming-conventions

我有一个长达数千个字符的字符串,包含大约100个\n,在打印时将其分开。我正在删除包含某些子字符串和某些单个字符的任何行。

这部分内容已经完成,但我很好奇最好的 pythonic 这样做的方式是什么,并且,假设我选择的方法是合理的,如果临时列表有适当的命名约定。

active_config = active_config.split('\n')

for i, elem in enumerate(active_config):
    # Delete entire line based off match
    if "cmdStatus=" in elem or "<?xml" in elem:
        active_config.remove(elem)

    #Delete individual char based off match
    elem = elem.replace("\r","")
# Delete last line if it is '*'
if active_config[-1] == "*":
    del active_config[-1]

active_config = '\n'.join(active_config)

我已选择将字符串active_config覆盖为列表,然后在删除某些元素后再次将其覆盖为字符串。

由于列表只用于删除几行和单个字符,并且从未在别处使用过,因此我应该将它称为特殊约定吗?也许称之为active_config_listtemp_active_config,或甚至只是temp

1 个答案:

答案 0 :(得分:1)

一些列表推导也会这样做:

active_config = active_config.split('\n')

temp_list = [z for z in active_config if "cmdStatus=" in z or "<?xml" in z]

if temp_list[-1] == "*":
    temp_list = "\n".join([x.replace("\r", "") for x in temp_list[:-1]])

#Do whatever you need to do with temp_list here