파이썬 for문으로 찾은 결과를 한 번에 출력하기
조회수 718회
기초적인 질문일 수도 있는데.. 도저히 혼자서 해결을 못하고 있어서 질문 드립니다.
아래 코드를 실행할 경우 for문에서 지정되는 a 값들 출력
l 123 l
l 45 l
l 2 l
l 123 l
l 45 l
l 2 l
l 435 l
l 234 l
l 54 l
최종적으로 리턴받은 a 값 출력
end 54 end
같은 식으로 출력이 됩니다. l과 end는 제가 원하는 식으로 출력이 되는지 확인하기 위해 넣은 글자들인데요.
저는 for문으로 지정된 a의 값을 모두 받아서 출력하고 싶습니다. 위 결과를 토대로 말하자면
end 123
45
2
123
45
2
435
234
54 end
위와 같이 asd(aaa)
값을 출력하고 싶습니다.
하나씩 프린트하는 것이 아니라 모든 값들을 리스트를 쓰지 않고 하나의 프린트 명령으로 모두 출력하고 싶습니다.
어떻게 할 수 있을까요?
import random
def asd(aaa):
for i in range(random.randrange(2,9)):
a = aaa[i]
print('l', a, 'l')
return a
aaa = [123, 45, 2, 435, 234, 54, 3151, 345, 1235, 123, 5, 123, 51, 35, 123, 5, 13, 5]
asd(aaa)
print('end', asd(aaa), 'end')
1 답변
-
join 을 이용하면 됩니다.
>>> aaa = [123, 45, 2, 435, 234, 54, 3151, 345, 1235, 123, 5, 123, 51, 35, 123, 5, 13, 5] >>> aaa_str = list(map(str, aaa)) >>> aaa_str ['123', '45', '2', '435', '234', '54', '3151', '345', '1235', '123', '5', '123', '51', '35', '123', '5', '13', '5'] >>> joined = '\n'.join(aaa_str) >>> joined '123\n45\n2\n435\n234\n54\n3151\n345\n1235\n123\n5\n123\n51\n35\n123\n5\n13\n5' >>> print(joined) 123 45 2 435 234 54 3151 345 1235 123 5 123 51 35 123 5 13 5 >>> print(f'end : {joined} : end') end : 123 45 2 435 234 54 3151 345 1235 123 5 123 51 35 123 5 13 5 : end
댓글 입력