Python Unicode 列表连接

9
我想要将一个Unicode Python列表连接在一起,例如:
a = [u'00', u'0c', u'29', u'58', u'86', u'16']

我需要一个类似以下格式的字符串:

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

我该如何加入这个呢?
2个回答

18
>>> 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'

1
或者另一种方式:b':'.join(str(item) for item in a) - agf
我尝试了这个,但一直收到有关带重音的Unicode字符的UnicodeDecodeError错误。有人知道为什么吗? - Rafael S. Calsaverini
@RafaelS.Calsaverini:如果你的错误出现在这个解决方案的str部分,那是因为该字符无法用ASCII表示。如果你需要将你的Unicode字符串转换成ASCII,你就必须做一个近似处理,可以尝试像这个解决方案一样的方法:https://dev59.com/IGsz5IYBdhLWcg3wJUjJ#8087466 - MattH

-2

这样怎么样:

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() - naeg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接