내가 있다고 가정 값 임의 반복 가능한반복 가능 객체를 인쇄 할 수있는 하나의 함수가된다
var = "ABCDEF"
나는이
it = itertools.combinations(var,2)
같은 반복 가능한 모든 인쇄 할 수있는 하나의 함수가 도착
printall(it)
오히려이 오히려 당신이 모든 값을 인쇄 할 경우, 원하는 것을 따라 루프
내가 있다고 가정 값 임의 반복 가능한반복 가능 객체를 인쇄 할 수있는 하나의 함수가된다
var = "ABCDEF"
나는이
it = itertools.combinations(var,2)
같은 반복 가능한 모든 인쇄 할 수있는 하나의 함수가 도착
printall(it)
오히려이 오히려 당신이 모든 값을 인쇄 할 경우, 원하는 것을 따라 루프
의를 사용하는 것보다, 당신이 그들을 계산해야 - 값을 보장하지 않는 반복자는 그들이 때까지 계산된다 모든 요청, 그래서 이것을 달성하는 가장 쉬운 방법은 make a list하는 것입니다
print(list(iterable))
이 적합 할 수있다 일반적인 목록 형식으로 항목을 인쇄합니다. 새 행에 각 항목을 원하는 경우, 최선의 선택은 당신이 언급 한 바와 같이 루프에 대한 간단한이다 :
for item in iterable:
print(item)
당신이 특정 형식의 데이터를 필요로하지 않는 경우, 그러나 다만 할 필요 읽기 (모든 예를 들어 한 줄에), 당신은 the pprint
module을 체크 아웃 할 수 있습니다. 정말 생각하지 않습니다
마지막 옵션은 최적이지만, 완성도에 대한 언급, the print()
function 매우 유연이고, 3.X에서 가능하다 :
print(*iterable, sep="\n")
다음
에 인수로 우리 unpack the iterableprint()
그런 다음 분리자를 일반 줄 바꿈과 반대되는 줄 바꿈으로 만드십시오.
또한 iterator가 반복되면 소비됩니다. –
@JoelCornett 실제로. 목록을 작성했다면 대신 목록을 반복 할 수 있습니다. 인쇄용 * –
(* iterable)은 승자입니다. –
str.join
메서드를 사용하고 새 행의 반복 가능 요소의 각 요소를 조인 할 수 있습니다.
print('\n'.join(it))
+1하지만 요소가 문자열이라고 가정 할 때 유의할 가치가 있습니다. 그렇지 않은 경우 [발전기 표현식 또는 목록 이해력] (http://www.youtube.com/watch?v=pShL9DCSIUw)이 필요합니다. –
:
>>> print '\n'.join('{:>10}'.format(e) for e in iter([1,2,'1','2',{1:'1'}]))
1
2
1
2
{1: '1'}
각 요소는 반드시 문자열 할 필요는 없지만이 경우 __repr__
방법이 있어야합니다 끈이 아니야.
그런 다음 쉽게 원하는 기능을 쓸 수 있습니다 :
>>> def printall(it,w): print '\n'.join('{:>{w}}'.format(e,w=w) for e in it)
>>> printall([1,2,'3','4',{5:'6'}],10)
1
2
3
4
{5: '6'}
내가 목록을 사용하고,하지만 어떤 반복자 할 것입니다.
당신은 VAR 데이터에 대한 반복자를 만들 itertools에서 chain() 기능을 사용 후 바로 사용하여 압축을 풀 수 있습니다 * 반복자의 운영자
>>> from itertools import chain
>>> var = 'ABCDEF'
>>> print(*chain(var))
A B C D E F
>>> print(*chain(var), sep='\n')
A
B
C
D
E
F
그냥 기존 데이터를 반복하고 사용할 수있는 다시 인쇄해야하는 경우 별 연산자 *는이 경우
>>> print(*var)
A B C D E F
>>> print(*var, sep='\n')
A
B
C
D
E
F
왜 for 루프가 문제입니까? –
나는 그렇게 믿지 않는다. 그러나 나는 틀릴지도 모른다 ... – xxmbabanexx
잠깐 ... 당신은 사용자 정의 함수로 모듈을 만들고 distilus를 사용하여 설치할 수있다. – xxmbabanexx