파이썬(python) - 리스트 다른 언어와 다른 점

 파이썬에서 리스트에 대해서 특이한(?) 점들 다른언어와 좀 다른 부분을 작성하고자합니다.

 빈 리스트 생성
emptyList = []
위와 같이 빈 리스트를 생성할 수 있지만

emptyList = list()
list()를 사용해서 빈 리스트를 생성가능합니다.

 리스트의 결합
firstList = ['first', 2, 'three']
secList = ['A', 'B', 'C']
firstList += secList
'+='연산자를 사용해서 리스트를 붙일 수 있습니다.

 리스트에 삽입하기
firList.insert(0,'zero')
 원하는 위치에 객체를 삽입할 수 있습니다. 이 때 위치가 인덱스 범위를 초과한다면 append()와 동일하게 가장 끝에 추가합니다.

 pop()

>>> myList = [1,2,3,4]
>>> myList.pop()
4
>>> myList.pop(0)
1
>>> myList
[2, 3]
 pop에도 오프셋을 설정하여 요소를 pop시킬 수 있다. 알다시피 리스트에서 제거하고 값을 반환해준다.

 index()
>>> myList = [1,2,3,4]
>>> myList.index(3)
2
 값을 주면 해당 값의 인덱스를 가져온다.
>>> myList.index(5)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    myList.index(5)
ValueError: 5 is not in list
 이 때 없는 값을 주면 에러가 발생한다.
 
 in 키워드
>>> myList = ['Lee', 'Kim', 'Lil']
>>> 'Kim' in myList
True
 해당 값이 리스트에 존재하는지 여부를 알 수 있다.

 정렬을 할 경우
  • sort() : 리스트 자체를 내부적으로 정렬하게된다.
  • sorted() : 리스트를 정렬한 복사본을 반환한다.
 기본적으로 오름차 순으로 정렬하며 문자열은 abc순서대로 정렬한다.


>>> myList = [ 3, 1, 0, 2.5 ]
>>> myList.sort(reverse=True)
>>> myList
[3, 2.5, 1, 0]
 내림차 순으로 정렬을 하고싶은 경우에는 위와 같이 reverse=True를 추가해주면된다.

 리스트를 복사하는 방법
>>> a = [1,2,3,4]
>>> b = a.copy()
>>> c = list(a)
>>> d = a[:]
 그냥 b=a 이렇게 복사할 경우 참조 복사가 이루어져 b를 변경시 a도 변하게된다. (같은 리스트를 참조하기 때문입니다.) 때문에 참조복사가 아닌 깊은 복사를 해주기 위해서는 위와같은 3가지 방법을 사용해서 복사하면됩니다.
파이썬(python) - 리스트 다른 언어와 다른 점 파이썬(python) - 리스트 다른 언어와 다른 점 Reviewed by Lifer on 9/02/2018 Rating: 5

댓글 없음:

Powered by Blogger.