편의상 여러 값에 대해 단일 값, 목록 또는 반복기 중 하나의 함수를 전달하고 싶습니다. 하나의 루프에서 세 가지 변형을 모두 수용 할 수 있도록 단일 항목에서 반복자를 생성하는 방법이 이상적입니다.하나 또는 여러 항목을 반복하는 방법은 무엇입니까?
from collections import Iterable
def iterate(seq_or_single):
if isinstance(seq_or_single, Iterable) and not isinstance(seq_or_single, basestring):
return seq_or_single
return [seq_or_single]
# for x in iterate(param):
당신이
do_something
이 형식 오류를 던지고 대해 걱정하는 경우
당신이 PARAM이 문자열 인 경우 일어날 것으로 예상합니까? –
@gnibbler, 하! 좋은 질문 - 내 특정 사용 사례에 대한 문자열을 단일 매개 변수로 간주하고 싶습니다. 하지만 반복 가능한 문자 시퀀스로 취급하는 답변에 대해서는 열려 있습니다. –
그러한 기능을 구현하는 것이 좋은지 여부는 의문입니다. – zhangyangyu