【问题标题】:I am trying to print some list containing '\t' and '\n' . But as python is not printing it because it is thinking it as a special character [duplicate]我正在尝试打印一些包含 '\t' 和 '\n' 的列表。但是由于python没有打印它,因为它认为它是一个特殊字符[重复]
【发布时间】:2016-02-07 17:48:29
【问题描述】:

我有一个分隔列表。现在我想打印 delim 列表中的每个元素。但是 python 中的打印功能正在打印除 '\t' 、 '\n' 之类的字符之外的所有内容。我知道这很平常。但是我可以像普通字符或字符串一样打印它吗?

delim=['\t','\n',',',';','(',')','{','}','[',']','#','<','>']

for c in delim:
        print c

它正在输出: 它正在打印所有跳过 \t 和 \n

的列表

【问题讨论】:

    标签: python list


    【解决方案1】:

    通过添加 r 前缀将它们更改为原始字符串文字:

    >>> print '\n'
    
    >>> print r'\n'
    \n
    

    对于您的示例,这意味着:

    delim=[r'\t',r'\n',',',';','(',')','{','}','[',']','#','<','>']
    
    for c in delim:
        print c
    

    【讨论】:

    • 谢谢。效果很好。
    • 如果@AtifImam 想稍后在拆分中使用这些分隔符,此解决方案将失败,因为str.split(r'\n') 将查找出现的反斜杠后跟n,而不是换行符。 r'\t' 也一样
    • 你说得对,这真的取决于他打算用它做什么。
    • 今天学到了很多有趣的东西^_^
    【解决方案2】:

    如果您只想以不同的方式打印它们,请使用repr

    for c in delim:
        print repr(c)
    

    注意:您还会在每个字符串的开头和结尾看到额外的'

    【讨论】:

    • 谢谢。这也有效。
    猜你喜欢
    • 2021-09-02
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多