【问题标题】:Editing value in a multiline-string numerous times and creating numerous new strings?多次编辑多行字符串中的值并创建大量新字符串?
【发布时间】:2021-10-28 05:51:45
【问题描述】:

我正在使用基于 python 的软件,它利用长的多行字符串来运行。我想创建一个循环,在其中我将一个值更改为例如40 个其他值并创建 40 个新字符串,其中除了目标值之外的所有内容都相同。

我通过以下代码实现了“我想要什么”作为输出:

for x in range(0, 40000, 40):
for line in mystring.splitlines(keepends=True):
    line = line.replace("24000", str(x))
    line = line.strip()
    print(line)

它会打印所有 40 个长字符串,但如何将它们保存到新字符串并在软件中使用?

我也可以通过以下代码实现 1 次迭代,但只能实现 1 次:

for x in range(0,40000,40):
   mystring = mystring.split("\n")
   mystring[17] = "Constant = " + str(x)
   mystring = "\n".join(mystring)
   print(mystring)

希望我的问题有意义。我只想要 40 个(在本例中)相同的新字符串,除了一个值在整个过程中发生变化。

谢谢

【问题讨论】:

    标签: python string loops for-loop


    【解决方案1】:

    或者如果您想将输出保存到新字符串中:

    output_string = ""
    for x in range(0, 40000, 40):
        for line in mystring.splitlines(keepends=True):
            line = line.replace("24000", str(x))
            line = line.strip()
            output_string += line + "" 
                  # beetwen quotation marks you can put the string with 
                  # which You would like to split every line.
    

    【讨论】:

      【解决方案2】:

      您应该将新的字符串值存储在一个列表中。更改您的第一个示例将如下所示:

      output_strings = []
      for x in range(0, 40000, 40):
          for line in mystring.splitlines(keepends=True):
              line = line.replace("24000", str(x))
              line = line.strip()
              print(line)
              output_strings.append(line)
      

      【讨论】:

        猜你喜欢
        • 2019-02-13
        • 1970-01-01
        • 2013-10-23
        • 2021-01-13
        • 2019-04-24
        相关资源
        最近更新 更多