list 클래스

파이썬에서 연속적인 데이터를 저장하기 위해 사용하는 클래스이다.

클래스 생성 방법으로는 아래와 같다.

  1. list1 = list()

  2. list1 = []

  3. list2 = list([2,3,4,])

  4. list2 = [2,3,4]와 동일

  5. list3 = list(["red", "green", "blue"])

  6. list3 = ["red", "green", "blue"]

  7. list4 = list(range(3, 6))

  8. list5 = list("abcd")

list 슬라이싱 [start: end: step]

list 슬라이싱을 이용하여 문자열 추출을 쉽게 할 수 있다.

list1 = [4,2,9,1,32]
 
list1[1:4] // [2, 9, 1]

연결 연산자, 반복 연산자, in/not in

>>> list1 = [4,2,9,1,32]
 
>>> list2 = [3, 3]
 
>>> list1 + list2 // [4, 2, 9, 1, 32, 3, 3]
 
>>> list2 * 3 // [3, 3, 3, 3, 3, 3]
 
>>> 4 in list2 // False
 
>>> 3 not in list2 // False
 
>>> 1 in list1 // True

리스트 복사

파이썬에서 아래와 방식으로 리스트를 복사하게 되면 참조가 된다.

list1 = [1,2]
 
list2 = list1
 
list1[0] = 3
 
//list1과 list2 모두 [0] 번재 원소가 3으로 변경된다.
print(list1, list2)

따라서 리스트를 복사할 때는 아래의 2가지 방법을 이용할 수 있다.

익명 배열에다가 원소를 넣어서 대입하므로 참조가 일어나지 않는다.

list2 = [x for x in list1]
 
list2 = [] + list1

아래의 예시를 보면서 참조에 대한 이해를 해보자

def main():
    x = 1 # x는 int 변수이다.
    y = [1, 2, 3] # y는 리스트이다.
 
    m(x, y) # x, y 인자를 사용하여 m을 호출한다.
 
    print("x is", x) // 1
    print("y[0] is", y[0]) // 5555
 
def m(number, numbers):
    number = 1001
 
    numbers[0] = 5555
 
main()

number와 같은 일반 변수는 참조가 일어나지 않지만 리스트는 참조가 일어남을 확인할 수 있다.

'Language > Python' 카테고리의 다른 글

[Lint Code] Split String  (0) 2017.12.24

+ Recent posts