jackcom   1년 전

파이썬을 배운지 얼마 안되서 문의 드립니다.
저는 일반적으로 list()와 [ ]를 크게 구분 안하고 사용합니다. 그런데 가끔 입력을 처리할때 [ ] 를 써서 안 될때가 있는데요.
왜 그런지 궁금합니다.

a = []
a.append("test1")
a.append("test2")
print(a)

> ['test1', 'test2']
['test1', 'test2']

b = list()
b.append("test1")
b.append("test2")
print(b)

> ['test1', 'test2']
['test1', 'test2']

일단 위에 코드는 모두 동일합니다
그런데 아래 코드는 결과가 다르게 나옵니다.

WeissBlume   1년 전

map 말고 [[1,2,3]]list([1,2,3])를 출력해 보아도 다릅니다. 즉, []를 사용하면 내부의 값이 그대로 리스트의 원소가 되는 반면, list()를 사용하면 주어진 iterable과 동일한 원소를 가지는 list를 얻을 수 있습니다. 원하는 동작은 a = [*map(str, input().split())] 로 구현할 수 있습니다.

jackcom   1년 전

잘 알겠습니다. 명심하겠습니다. 감사합니다.

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