【问题标题】:Python unicode list joinPython unicode 列表连接
【发布时间】:2011-12-09 22:09:57
【问题描述】:

我想加入一个 unicode python 列表,例如:

a = [u'00', u'0c', u'29', u'58', u'86', u'16']

我想要一个如下所示的字符串:

'00:0c:29:58:86:16'

我将如何加入?

【问题讨论】:

    标签: python string list unicode


    【解决方案1】:

    这个怎么样:

    if __name__ == "__main__":
            a = [u'00', u'0c', u'29', u'58', u'86', u'16']
    
            s = u''
            j = True
    
            for i in a:
                    if j == True:
                            s += i
                            j = False
                    else:
                            s += u':' + i
    
            print s
    

    【讨论】:

    • 太复杂了——用join()
    【解决方案2】:
    >>> a = [u'00', u'0c', u'29', u'58', u'86', u'16']
    >>> u":".join(a)
    u'00:0c:29:58:86:16'
    >>> str(u":".join(a))
    '00:0c:29:58:86:16'
    

    【讨论】:

    • 或者其他方式:b':'.join(str(item) for item in a)
    • 我试过这个,我不断收到UnicodeDecodeError 的关于带重音的 unicode 字符。有谁知道为什么?
    • @RafaelS.Calsaverini:如果您的错误出现在此解决方案的 str 部分,那是因为该字符无法用 ascii 表示。如果您在 ascii 中需要您的 unicode 字符串,则必须进行近似,请尝试以下解决方案:stackoverflow.com/a/8087466/267781
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 2017-11-29
    • 2012-08-18
    • 2012-08-09
    • 2014-05-03
    • 2020-06-10
    • 1970-01-01
    相关资源
    最近更新 更多