ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 많이 사용하는 List 다루기
    case Computer :/Python 2022. 1. 21. 15:26

    Python 에 자료형중에 List 에 대해 python에서만 가능한 list 를 다루는 방법을 알려드립니다.

    아래 기능들은 굉장히 많이 사용되는 방법으로 알고 있으면 굉장히 편리한 방법입니다.

     

    * 알아두면 좋은점 

    List는 다른언어 에서 이야기하는 Array와 비슷합니다. 하지만 조금 차이는 있습니다. 

    예를들어 C언어에서는 배열안에 포함되는 값은 형태(타입)는 모두 동일해야 합니다. 하지만 Python에서는 보다 자유롭습니다.
    List에 int형과 string, object 등 자유롭게 넣을 수 있습니다. (일반적인 비즈니스 코드에서는 보기 힘듭니다)

    이것은 단순히 생각하면 좋을 수 있지만 속도면에서 불리함을 보입니다. 

    이에 대해서는 따로 포스팅하도록하겠습니다. 궁굼하신분은 댓글 남겨주세요.

     

    1. Reverse - List 뒤집기

    reverse() 라는 내부 함수를 사용해도 되지만 "[::-1]" 만으로 뒤집을수 있습니다.
    이 방법은 [::] Section Slices 라는 방법으로 원래는 뒤집는 용으로 나온것은 아니지만 결과만 보자면 reverse와 동일합니다

    [a:b:x] 의 사용법 간략이 설정하자면 a 인덱스 부터 b 인텍스까지 x의 간격으로 항목을 가져와라 입니다. 

    (a,b 가 정의되지 않으면 시작부터 끝까지 입니다.)

     

     

    data = [1, 2, 3, 4, 5]
     
    print(data[::2]) # 앞쪽부터 2칸 간격으로 가져와라
    >[1, 3, 5]
     
    print(data[::-2]) # 뒤쪽부터 2칸 간격으로 가져와라
    >[5, 3, 1]
     
    print(list[1::2]) # 앞쪽부터 index 1부터 시작해서 2칸 간격으로 가져와라
    >[2, 4]
     
     
    reverse_data = data[::-1] # 뒤쪽부터 1칸 간격으로 가져와라
    print(reverse_data)
    >[5, 4, 3, 2, 1]
     
    # 응용
    for x in data[::-1]:
    	print(x)

    * 위에 방법은 reverse 함수보다는 느리다는것을 알아랴합니다. 소규모 데이터에서는 큰 의미는 없지만 구성 데이터나 크기에 따라 속도의 영향이 있을수 있기때문에 개발자가 해당 사항을 고려하여 사용하십시오.

     

    2. List에 끝에서 Index 계산

    보통 리스트의 끝부분를 index 할때 [length-1] 을 쓰지만 python에서는 그냥 -값만 붙이면 됩니다.

    0 번 index가 리스트에 첫 index이기에 음수는 자동으로 끝부분으로 연결됩니다.

     

    data = [1, 2, 3, 4, 5]
     
    print(data[-1])
    > 5
     
    print(data[-2])
    > 4

    3. List 의 항목 String으로 변환

    List의 항목을 String으로 이어서 합치는 방법입니다. "구분자".join(data) 을 사용하는 방법입니다. 

     

    data = ["hello", "visu4l", "world"]
     
    print( "".join(data) ) #구분자가 없기때문에 붙여서 연결합니다.
    > hellovisu4lworld
     
    print( " ".join(data) ) #구분자가 공백으로 채워서 연결합니다.
    > hello visu4l world
     
    data = [1, 2, 3, 4, 5] # join시에 기본적으로 str 인것을 기본으로 하기때문에 int형일때는 형변환이 필요
    print( ",".join(map(str, data)) ) 
    > 1,2,3,4,5

     

    4. 기본적인 List 다루기

    # 변수 빈값으로 초기화 
    data1 = []
    data2 = list()
    
    # 변수 값 포함 초기화
    data3 = [1, 2, 3]
    
    # 값 추가(마지막에)
    data3.append(4)
    print(data3)
    > [1, 2, 3, 4]
    
    # 특정 index에 추가
    data3.insert(1, 5)
    print(data3)
    > [1, 5, 2, 3, 4]
    
    # 두 리스트 합치기
    data4 = [6, 7]
    data3.extend(data4)
    > [1, 5, 2, 3, 4, 6, 7]
    
    # 참조: append로 list를 합기에 되면?
    test = [1, 2, 3]
    test.append([4, 5])
    print(test)
    > [1, 2, 3, [4, 5]]
    
    # for문에서 사용
    data3 = [1, 2, 3]
    for i in data3:
    	...

     

    생각날때 또 계속 추가하겠습니다.

    반응형

    'case Computer : > Python' 카테고리의 다른 글

    python for, while 조건문 특별한 다루기  (0) 2022.01.21

    댓글

Designed by Tistory.