【问题标题】:python loop arraypython循环数组
【发布时间】:2012-01-21 23:02:26
【问题描述】:
arr = [(line.rstrip('\n').split(';')) for line in open('C:/Config_Changer.csv')]
import sys
import fileinput
for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
    sys.stdout.write(line.replace(arr[0][0], arr[0][1]))

大家好,

我写了上面的几行,所以它工作正常,但它只替换 ary[0][0],所以我想像下面那样循环它,所以需要第一个维度来循环。谁能帮我处理循环命令.我应该把循环准确地放在哪里???

sys.stdout.write(line.replace(arr[a][0], arr[a][1]))

【问题讨论】:

  • 请更详细地解释您想要达到的目标、遇到问题的原因以及您尝试过的方法!
  • 好的,我有一个多维数组,我想替换从多维数组收集的值并放入我在第 4 行打开的文件中

标签: python arrays loops


【解决方案1】:

所以你想要的是将arr 中的所有替换应用于line:(与 aix 的答案不同,这个避免了显式索引)

for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
    for f,t in arr:
        line = line.replace(f, t)
    sys.stdout.write(line)

【讨论】:

    【解决方案2】:

    只要我正确理解您的要求:

    for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
        for j in xrange(len(arr)):
            line = line.replace(arr[j][0], arr[j][1])
        sys.stdout.write(line)
    

    或者——也许更 Python 化——

    for i, line in enumerate(fileinput.input('C:/1.cfg', inplace = 1)):
        for repl in arr:
            line = line.replace(repl[0], repl[1])
        sys.stdout.write(line)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      相关资源
      最近更新 更多