2016-08-10 2 views
4

나는리스트의 목록이인쇄 목록

1 3 4 
2 5 7 

내가 그것을 다음과 같은 방법을 시도를하지만, 출력이 원하는 방향에 있지 :

for i in a: 
    for j in i: 
     print(j, sep=' ') 

출력 :

,
1 
3 
4 
2 
5 
7 

대신 end를 사용하는 인쇄 호출을 변경하는 동안 :

for i in a: 
    for j in i: 
     print(j, end = ' ') 

출력을 :

1 3 4 2 5 7 

어떤 아이디어? 원래 목록의 모든 하위 목록을

답변

8

으로 반복하고 *와 인쇄 전화에 압축을 해제 :

a = [[1, 3, 4], [2, 5, 7]] 
for s in a: 
    print(*s) 

분리는 ' '로 설정 기본적으로 그래서 명시 적으로 제공 할 필요가 없습니다. 이 인쇄물은 다음과 같습니다.

1 3 4 
2 5 7 

모든 하위 목록의 모든 요소를 ​​반복하여 개별적으로 인쇄했습니다. print(*s)을 사용하면 인쇄 호출 내부의 목록이 본질적으로 변환을 풀고 :

print(1, 3, 4) # for s = [1, 2, 3] 
print(2, 5, 7) # for s = [2, 5, 7] 
+0

고마워요! *는 무엇을합니까? – skorada

+0

리스트 내용을'print' 호출에 압축을 풉니 다. 'print (* s)''s = [1, 2, 3]'은'print (1, 2, 3)'와 같습니다. –

8

oneliner :

print('\n'.join(' '.join(map(str,sl)) for sl in l)) 

설명 : 당신이 기능을 조인을 사용하여 strlist을 변환 할 수 있습니다
:

l = ['1','2','3'] 
' '.join(l) # will give you a next string: '1 2 3' 
'.'.join(l) # and it will give you '1.2.3' 

o, 줄 바꿈을 원한다면 새로운 줄 기호를 사용해야합니다.
그러나 조인은 문자열 목록 만 허용합니다. 문자열 목록에 물건의 목록을 변환의 경우, 목록의 각 항목에 대한 str 기능을 적용 할 수

l = [1,2,3] 
' '.join(map(str, l)) # will return string '1 2 3' 

그리고 우리는 목록의 각 하위 목록 sl이 구성을 적용 l

2
당신은이 작업을 수행 할 수 있습니다

:

>>> lst = [[1, 3, 4], [2, 5, 7]] 
>>> for sublst in lst: 
...  for item in sublst: 
...    print item,  # note the ending ',' 
...  print      # print a newline 
... 
1 3 4 
2 5 7 
0
def print_list(s): 
    for i in range(len(s)): 
     if isinstance(s[i],list): 
      k=s[i] 
      print_list(k) 
     else: 
      print(s[i]) 

s=[[1,2,[3,4,[5,6]],7,8]] 
print_list(s) 

당신은 목록에서 목록에서 목록을 입력 할 수 있습니다 ..... 그리고 u는이 될 것으로 기대로 아직 모든 것이 인쇄됩니다.

+0

목록에있는 목록 내에 목록을 입력 할 수는 있지만 ..... 예상대로 모든 것이 인쇄됩니다. –