1. range(A, B)를 객체로 주고 list()또는 set()으로 반환하면 리스트 또는 튜플로 만들어진다.
2. [range(A, B)] 와 list(range(A, B))는 다른 결과를 만들어 낸다.
[]는 리스트 리터럴로, 리스트를 직접 정의할 때 사용된다. []안에 직접 값을 넣어 리스트를 만들 수 있다.
list()는 리스트 생성자다. 이 생성자는 다른 이터러블(예, 튜플, 문자열, range 객체 등)을 인자로 받아 이를 리스트로 변환한다.
즉, []는 직접 값을 넣는건데, list()는 대상을 받아서 이걸 리스트로 변환하는거네.....
3. 단, set(list(), list()) 이런 구조는 안된다. => set(list())의 구조는 가능함.
ㄴ 가능 temp = [set(range(min(i), max(i))) for i in lines] ㄴ 가능 temp = list(set(range(min(i), max(i))) for i in lines) ㄴ 불가능 temp = set(list(range(line[0], line[1])) for line in lines) ==> set()안에 list(), list() 이렇게 2번 들어감.