#!/usr/bin/python # coding: UTF-8 class List(list): def join(self, j = ''): if len(self) == 0: return '' else: if type(self[0]) == type(u'u'): result = self[0] else: result = str(self[0]) for e in self[1:]: if type(e) == type(u'u'): result += j + e else: result += j + str(e) return result import sys if sys.argv[0] == __file__: def p(s): if type(s) == type(u'u'): print 'u\'' + s.replace('\'', '\\\'').encode('UTF-8') + '\'' else: print '\'' + str(s).replace('\'', '\\\'') + '\'' p(List([]).join('+')) p(List([1]).join('+')) p(List([1,'two']).join('+')) p(List([1,'two',u'三']).join('+')) p(List([1,2,3]).join(u'→')) p(List([[1,'two',u'三'],u'よん']).join(u'→'))