<Python> join + list + map + lambda, 文字列の区切りの変換

文字列の区切りの変換。
こんな面倒なことしなくても、置換でいい気もするが、何かに応用が効くかも、、、

In [53]: s
Out[53]: 'a,b,c,d,e,f'

In [54]: '|'.join(list(map(lambda x: '%s' %x, s.split(','))))
Out[54]: 'a|b|c|d|e|f'

追加。 []で同じことができる。 こっちの方が見場が良さそう。
リスト内包表記ちゅうらしい。

In [89]: s
Out[89]: 'a,b,c,d,e,f'

In [90]: '|'.join(list(map(lambda x: "(%s)" %x, s.split(','))))
Out[90]: '(a)|(b)|(c)|(d)|(e)|(f)'

In [91]: '|'.join([ "({0})".format(i) for i in s.split(',')])
Out[91]: '(a)|(b)|(c)|(d)|(e)|(f)'

ここに詳しく書いてあった。

リスト内包表記 » Python Snippets