首页 > 解决方案 > 如何在python的列表中间添加字符串

问题描述

我有一个列表,里面有很多字符串

这是列表的一部分

<Setting cmd="SPLIT_SS" cmdindex="1" description="" name="static_session_time_gap" type="double" value="120.0"/>\n', '    <Setting cmd="USE_DOPPLER" cmdindex="0" description="" format="OFF/ON" name="phase_doppler" type="int" value="0"/>\n', '    <Setting cmd="USE_DOPPLER" cmdindex="1" description="" format="OFF/ON" name="code_doppler" type="int" value="0"/>\n', '    <Settings name="UserCmds"/>\n', '  </Settings>\n', '\n', '  <Settings name="INS">\n', '    <Settings name="Biases">\n'

我想添加这个字符串:Setting name="OMITEX" value="PROC ALL PPP_ELEV_MASK ALL"

紧随其后:Settings name="UserCmds"

我试过这个:

num_lines = 0
for i,Line in enumerate(NewProcProfile):
num_lines += 1
if 'UserCmds' in Line:
    linestart = num_lines + 1
    num_lines = 0 
    for i,Line in enumerate(NewProcProfile):
        num_lines += 1
        if num_lines == linestart:
            comment = '  <Setting name="OMITEX" value="PROC ALL {0} ALL"/>'.format(Parameter)
            NewLine2 = '{0}'.format(comment)
            NewProcProfile.append(NewLine2)

但它只是将其附加到列表的末尾。我怎样才能让它在'UserCmds'字符串之后添加它?

标签: python-3.xlist

解决方案


如果我正确理解你想要做什么,那么使用list.insert()方法怎么样?

这是一个示例(l是列表):

item_to_add = 'Setting name="OMITEX" value="PROC ALL PPP_ELEV_MASK ALL"'
for index, line in enumerate(l):
    if "UserCmds" in line:
        l.insert(index + 1, item_to_add)
        break

推荐阅读