如何合并列表但用新行分隔? 我有3行文本这是非python配置:

如何合并列表但用新行分隔? 我有3行文本这是非python配置:,python,Python,我需要在cpuload和我的oid之后以数字增量复制96次,例如esxi-cpuload2、cpuload3等,以及我的oid的.2、.3、.4等 到目前为止,我已经能够使用以下两个列表完成此操作: inputs = "[[inputs.snmp.field]]" name = "esxi-cpuload" oid = ".1.3.6.1.2.1.25.3.3.1.2." name2 = [name+str(i) for i in range(97)] oid2 = [oid+str(i) f

我需要在cpuload和我的oid之后以数字增量复制96次,例如esxi-cpuload2、cpuload3等,以及我的oid的.2、.3、.4等

到目前为止,我已经能够使用以下两个列表完成此操作:

inputs = "[[inputs.snmp.field]]"
name = "esxi-cpuload"
oid = ".1.3.6.1.2.1.25.3.3.1.2."

name2 = [name+str(i) for i in range(97)]
oid2 = [oid+str(i) for i in range(97)]
这给了我两个列表,其中的数字是第一行文本不需要更改的。但是,我现在如何使用Python组合所有这些数据?或者有更简单的方法吗?

'\n'。joinzip[inputs]*97,名称2,oid2


第一个带输入的表达式是将该字符串转换为单元素数组,然后将其乘以97,使该字符串在数组中重复97次

如果我理解你的问题,你有一些文本想用可变参数复制。如果是这样,这是一个很好的用例


我收到以下错误:'\n'.joinzip[inputs]*97,name2,oid2 TypeError:sequence item 0:expected str instance,tuple Found要使其正常工作,您需要展开'\n'。joina for b in zip[inputs]*97,name2,oid2 for a in b。这正是我想要的简单解决方案,非常感谢,伙计!出于好奇,我们为什么需要.join部分?@OtterVonBismarck这取决于您的需要:您可以像示例答案那样将这些片段连接到一个文本块中,或者您可以创建一个单独片段的列表:[FMT.formati=i for i in range1,96]。
inputs = "[[inputs.snmp.field]]"
name = "esxi-cpuload"
oid = ".1.3.6.1.2.1.25.3.3.1.2."

name2 = [name+str(i) for i in range(97)]
oid2 = [oid+str(i) for i in range(97)]
FMT = '''
[[inputs.snmp.field]]
name = "esxi-cpuload{i}"
oid = ".1.3.6.1.2.1.25.3.3.1.2.{i}"
'''

text = ''.join(FMT.format(i = i) for i in range(1, 96))