Python List
Python의 list는 잠시 또는 세션이 실행되는 동안 데이터를 저장해 놓는 유용한 공간이다, 더하거나 빼는 것도 가능하고, 인덱스나 슬라이스를 사용해서 원하는 부분만 추출할 수 도 있다.
이러한 List는 for문이랑 굉장히 많이 활용하게 되는데 n번째 값만 추출한다던지, 특정 조건을 만족하는 경우에만 다른 리스트에 넣던지 가능하다.
물론 속도 측면에서 for문보다는 인덱스나 슬라이스를 활용하는것이 적절하다.
List에서 한칸씩 뒤로 밀기
List_A=[1,2,3,4,5,6,7] 이라고 할때, List_result=[2,3,4,5,6,7,1]로 하려고 한다고 하자.
인덱스 방법을 사용하면 아주 쉽게 구현이 가능하다.
List_A=[1,2,3,4,5,6]
List_result = List_A[1:] + List_A[:1]
뭔 소리냐면, List_A[1:]은 List_A의 1번 인덱스부터(List는 첫번째 위치가 0번 인덱스다.) 끝까지 가져오고 [2,3,4,5,6,7]
List_A[:1]은 사실 List_A[0]이지만 List끼리 더해야 해서 [:1]로 한것이다.
ex) List_A[0]은 1 / List_A[:1]은 [1]이다.
For문으로 구현하기
되도록이면 For문보다는 인덱스 슬라이스 방법을 사용하는것이 좋다.다만 중간에 특정 조건이 있는경우를 추출할 때 사용가능하다.
List_A=[1,2,3,4,5,6]
temp_list=[]
List_result=[]
for i in List_A:
if i==0:
temp_list.append(List_A[i])
else:
List_result.append(List_A[i])
List_result=List_result + temp_list
그냥 첫번째일경우 임시 List(temp_list)에 넣어놓고, 나머지를 순서대로 append로 List_result에 넣어놓고, 맨 마지막에 temp_list를 더해주는 방법이다.
아래 처럼 해도 된다.
List_A=[1,2,3,4,5,6]
result_A=[]
for i in range(len(List_A)):
print(i)
if i==len(List_A)-1:
result_A.append(List_A[0])
else:
result_A.append(List_A[i+1])
끝.
728x90
반응형