<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)'
ここに詳しく書いてあった。