-
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