2016-07-27 8 views
1

나는 파이썬에서 두 개의 목록을 가지고있다.파이썬에서 쉼표없이 튜플 목록을 인쇄하는 방법은 무엇입니까?

a = [1, 2, 4, 8, 16] 
b = [0, 1, 2, 3, 4] 

및 그들의 zip 인 제 3리스트 c. 내가 괄호 후 쉼표없이 목록 c를 인쇄하고 싶은

c = [(1, 0), (2, 1), (4, 2), (8, 3), (16, 4)] 

:

c = zip(a, b) 

또는 단순히이 같은 튜플의 목록을 가지고있다. 파이썬에서이 작업을 수행 할 수있는 방법이 있습니까?

나는이 같은 목록 c을 인쇄하고 싶습니다 :

[(1, 0) (2, 1) (4, 2) (8, 3) (16, 4)] 
+0

왜 이렇게하고 싶은지 궁금하신가요? –

+1

LaTeX에서 'tikz'를 사용하여 그래프를 그려야하기 때문입니다. 내가 얻는 출력은 파이썬에서 생성됩니다 (즉, 튜플 목록). 'tikz'가'(0, 0), (()와 같은 점 집합을 받아들이지 않기 때문에'tikz '에 인쇄 목록을 쓰려면 모든 쉼표를 제거해야합니다. 1, 1)'. 목록이 매우 길면 쉼표를 하나씩 삭제하기 시작하고 싶지 않습니다. – Jika

답변

3
print('[%s]' % ' '.join(map(str, c))) 

인쇄를 : 당신의 입력에 대한

[(1, 0) (2, 1) (4, 2) (8, 3) (16, 4)] 

합니다.

기본적으로 튜플의 자연스러운 문자열 표현을 사용하고 공간과 결합한다는 사실을 활용할 수 있습니다.

0

최종 결과를 문자열로 만들면 괜찮습니까? 문자열 형태의 튜플의 목록을 작성하기 위해 지능형리스트를 사용

c_no_comma = '' 
for element in c: 
    c_no_comma += str(element) + ' ' 

c_no_comma = '[ ' + c_no_comma + ']' 
+0

그러면 목록의 모든 요소에 대해 2 개의 새 문자열 객체가 만들어지고 마지막에는 2 개 더하기 시작한 객체와 함께 시작됩니다. 대단히 비효율적이다. –

3
print('[' + ' '.join([str(tup) for tup in c]) + ']') 

. 그것들은 합쳐지며 대괄호는 당신이 원하는대로 보이도록 추가됩니다.

+0

코드 서식 지정을위한 4 개의 선행 공백 :) –

관련 문제