string
을 포함하는 list
을 가지므로 string
(''
)을 포함하는 각 지점에서 list
을 분할하려고합니다.파이썬에는 구분 기호를 사용하여 목록을 분할하는 기능이 있습니까?
['this', 'is', '', 'an', 'example']
나는이 수행하는 발전기 썼다
[['this', 'is'], ['an', 'example']]
가되어야이 꽤 일반적으로 보이는 때문에 나는 약간 유사한 기능을 놓친 나에 패턴과 관련된 경우, 궁금 해서요
def split(it, delimiter):
it = iter(it)
buffer = []
while True:
element = next(it)
if element != delimiter:
buffer.append(element)
elif buffer:
yield buffer
buffer = []
을 itertools
또는 다른 곳에서 ...?
나는'' '.__ ne__'보다는 람다 함수를 사용할 것이라고 생각합니다. 그러나 아이디어는 같고 이것은 트릭을 능숙하게합니다. +1. – mgilson
이 문맥에서'k'를 이해하는 방법? –
@ThijsvanDien'' '.__ ne__','k'가'True' 인 경우 각 항목이'''와 같지 않은지 확인한 다음 항목이''''과 동일하지 않으므로'k' 'False'이면 항목은''''와 같으므로 건너 뜁니다. – jamylak