Python 에서 Lambda

Posted on 2018-10-18(목) in python

Lambda 와 and, or trick

>>> s = "this   is\na\ttest"

# Case #1
>>> collapse = False
>>> processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
>>> print(processFunc(s))
this   is
a   test

# Case #2
>>> collapse = True
>>> processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
>>> print(processFunc(s))
this is a test

collapse 의 true, false 에 따라서 띄어쓰기가 단정하게 한 칸씩 띄워지도록 할 수 있고, 원문 그대로 출력 되도록 할 수도 있다.