python-3.x - 如何在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'字符串之后添加它?
解决方案
如果我正确理解你想要做什么,那么使用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
推荐阅读
- java - RecyclerView的LayoutInflator中无法解析布局
- bash - awk 和 sed 的管道命令太慢了!关于如何让它更快地工作的任何想法?
- c# - 连续播放WAV文件
- flutter - 如何重新打包 Flutter 插件以用于 Flutter Web?
- ios - iOS 如何在 Cordova / Phonegap 构建中执行本地化?
- python - 等效于 pyspark 中的 scipy curve_fit
- python - pandas 整数的负整数幂是不允许的
- java - Spring Batch FlatFileItemWriter 仅在第二次运行后处理数据
- java - 如何在新线程中投放广告?
- android - 将带有 RecyclerView Holder 的数组传递给 Alertdialog