Python 에 자료형중에 List 에 대해 python에서만 가능한 list 를 다루는 방법을 알려드립니다.
아래 기능들은 굉장히 많이 사용되는 방법으로 알고 있으면 굉장히 편리한 방법입니다.
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
생각날때 또 계속 추가하겠습니다.
'Computer' 카테고리의 다른 글
Docker log를 AWS CloudWatch로 보내기 (0) | 2020.02.14 |
---|---|
스타벅스 와이파이 자동 연결 (1) | 2020.02.06 |
[AWS] VM Import/Export를 사용하여 VM을 이미지로 가져오기 에러 (0) | 2018.01.31 |
[Android] App Background & Foreground 구분 (0) | 2017.11.24 |
adb 쉽게 쓰기 (0) | 2017.11.06 |