le_effort   5년 전

for문에서 for i in range(범위)   < 범위에는 리스트형이 들어갈수 없고 정수만 들어 갈 수 있다는건 아는데요

A = map(int,input().split())

 B = int(input()) # 편의점의 개수 

for i in range(0,B): 

 print(map(int,input().split()))

B에서 지정한 숫자만큼 반복문을 돌려 

3 100

2 100

1 100

이런식으로 출력하고 싶은데 어떻게 해야할까요? 

저 print문 안에서는 리스트를 사용 못하나요?

자꾸 에러가 나서요..

indioindio   5년 전

바라시는 답이 이것인지는 모르겠지만일

반적으로,

lst = [1, 100]

print(' '.join(map(str, lst)))

를 하면 

1 100 이 출력됩니다.

굳이 map(str, lst)를 하는 것은 str타입만 join할 수 있기 때문입니다.

le_effort   5년 전

A = map(int,input().split())
B = int(input()) # 편의점의 개수
C = list()
for i in range(0,B):
print(' '.join(map(str, C)))

5 100 

3

 1 100 SyntaxError: invalid syntax >>>

이렇게 뜨내요....

hello70825   5년 전

map 왼쪽에 *을 붙이면 됩니다. 

le_effort   5년 전

*가 뭘 의미하는지 알수 있을까요?

nova9128   5년 전

리스트앞의 *은 리스트 안의 개체들을 의미합니다.

print(*[1,2,3,4,5])

하면 1 2 3 4 5 가 출력됩니다.

milkclouds   5년 전

*의 사용

  1. 함수: print(*[3,1,2]) => print(3,1,2) 와 같이, 바로 우측에 오는 반복 가능 자료형을 전개하여 각각 인자로 넣어줌
  2. [], {}: [*range(3)] => [0,1,2] 와 같이, 바로 우측에 반복 가능 자료형을 두고 이걸 [] 안에 넣으면 전개하여 리스트가 되고 {} 안에 넣으면 set가 됨

[*map(print,range(3))] 같이 쓸수도 있어요

댓글을 작성하려면 로그인해야 합니다.