将换行符附加到列表中

时间:2011-03-18 23:07:20

标签: escaping python-3.x append

我希望我的程序从输入中生成CSV。 (我计算了特定输入出现的次数,然后我想在Excel中读取它。)这仅供我自己用来帮助我输入数据,所以只有输出的形式很重要。在代码方面,我是一个非常业余的人,因此请原谅我的迂回方法让程序循环。

SC= []
ender= 0
while ender == 0:
     Data = input('type in the letters:')
     if 'x' in Data:
          SC.append (1, )
     else: SC.append (0, )
     A = input('Done?:')    
     if 'done' in A:
         ender = 1
     else:quit
else:SC.append('/n')

print(SC)

这给了我类似(1, 0, 1, '/n')的东西 我需要的是(1, 0, 1, /n)

我已经尝试过SC.append(//n) - 这不会给我“我想要的'转义'/吗? - 它返回一个语法错误,指向第一个/ 如果我使用SC.append(/n),我会收到指向/的相同语法错误 我也试过使用各种形式的原始字符串无济于事。

尝试在列表末尾添加这些换行符的问题一直让我发疯。我似乎无法让python将文字/n附加到列表中。任何帮助将非常感激。

2 个答案:

答案 0 :(得分:0)

这肯定不是最好的方法。

我只是尝试对您的代码进行一些编辑:

sc = []
while True:
    data = raw_input('type in the letters:')
    if 'x' in data:
        sc.append("1")
    else:
        sc.append("0")
    checkDone = raw_input('Done?:')
    if 'done' in checkDone:
        break
sc.append('\n')
print(sc)
scWithCommas = ",".join(sc)
print(scWithCommas)

可以进行一些改进:

  1. if 'x' in data检查表示如果键入xerox,则会附加1。如果键入peter,则列表中会附加0。它可以更改,以便xerox附加1,0,0,0,1和peter附加0,0,0,0,0

  2. 检查done可以避免用户的第二次输入,而是使用第一个输入。

答案 1 :(得分:0)

你正在逃避换行符错误。它是\n(通知您键入了/n

所以你想要的是SC.append('\n')