본문 바로가기
Python/DataType&Structure

Sequence Type - List

by youngflowey 2019. 11. 26.

list

  • 임의의 객체를 순차적으로 저장한 자료구조
  • 기호로는 [ ]  대괄호를 이용
myList = list()        # 비어있는 list를 생성 아무것도 가지지말고 리스트만들어
# 벡터와 다른점 : 벡터는 같은 데이터타입의 값만 들어와, 리스트는 다양하게
myList = []           # list를 literal로 표현
myList = [1,2,3]      # 3개의 값을 가지는 list를 생성
myList = [1,3.14,True,"아우성!"]    # 모든 데이터 타입
myList = [10,["Show","me","the","money"],3.14,True]     # 리스트를 중첩해서 가능
                                            # List안에 또 다른 자료구조들을 넣을 수 있어요
print(myList[2])
print(myList[1][3])
print(myList[-1])
print(myList[0:1])
# slicing : 원본에 준하여 뽑아냄
# slicing결과는 원본자료구조와 동일
print(myList[1][2:])

list의 연산

a = [1,2,3]
b = [4,5,6]
print(a+b)      # 연결함
print(a*3)      # 3번 반복

list의 indexing & slicing

  • indexing : 그 위치에 있는 값을 알아내거나 뽑아내는거 ( 위치를 지정 )
  • slicing : 그 자료형을 대치하거나 뽑아내는거 ( 영역을 지정 )
a = [1,2,3]
a[0] = 5        # 5, 2, 3
a[0:1] = [7,8,9]   # 7, 8, 9, 2, 3  
a[1:] = []     # [1]
# list slicing한 부분을 다른 리스트로 대치
a[0] = [7,8,9]   # [[7,8,9],2,3]

a = [1,2,3]
del a[1]      # [1,3]

list에 적용할 수 있는 함수

append

a = [1,2,3]
a.append("Hello")
print(a)
a.append([4,5,6])
print(a)
# list의 맨 마지막칸을 생성
# 그 안에 데이터를 저장해요

 

extend

# list를 확장
a.extend([4,5,6])
print(a)

 

정렬(오름차순, 내림차순)

sort
a = [7,3,9,4,6,1,8]
result = a.sort()      # a는 불변, result는 정렬된 결과 (X)
                       # list 원본이 변경
print(result)
print(a)

a.sort() # 만 쓰는거야
         # 리스트가 가지고 있는 함수
#sorted() # python이 제공하는 함수

result = sorted(a)
print(a)

- 리스트 함수, python 함수
- return이되느냐 안되느냐
- 원본이 변하냐 안변하느냐
- 차이점이 있어

- 리스트 함수 : 리스트자체를 제어

 

a = ["Hello","kaka","World","haha"]
a.sort()    # 정렬의 기본(오름차순)
            # 문자일경우 ASCII코드를 기반으로 정렬
# 컴퓨터 숫자밖에 몰라 0,1 -> 사실 0,1도 몰라 전압의 세기
# 문자 컴퓨터 인식할 줄몰라 -> 코드표 심는다 -> 아스키코드
print(a)

 

reverse
a = ["홍길동","최길동","아이유","김연아","신사임당"]
a.sort()
print(a)
a.reverse()     # 리스트를 역순으로 나열하는 함수
print(a)
a.sort(reverse=True)
print(a)

 

pop

b = [1,2,3,4,5]
# print(b.index(2))
# # 찾은다음 찾은 위치를 return(알려준다)
# b.insert(1,"Hello")    # 특정위치에 값을 삽입할 수 있어요
# b.remove(3)           # 첫번째로 발견한 요소를 삭제
print(b.pop())              # 맨 마지막 요소를 뜯어와요
print(b.pop(2))         # 지정한 위치에 요소를 뜯어와요

 

count

a = [1,2,3,4,5,1,2,1,2,3,4]
print(a.count(1))      # list안에 내가 찾으려는 요소가 몇 개 있는지를 return

 

id

a = 100
print(id(a))
# a변수가 진짜로 가지고 있는 값은 뭐야? : 메모리 주소가 어디야?

 

논리연산자

a = [1,2,3]
b = [1,2,3]
print(a == b)   # a와 b의 내용이 같은지를 물어봐요!
# a가 따라간 결과, b가 따라간 결과 같니?

print(a is b)    # a와 b 완전히 동일하니?
# a와 b가 동일한 놈인지를 비교
# 같은걸 가르키지 않기 때문에 False

a = [1,2,3]
b = a
print(a == b)
print(a is b)

a = [1,2,3]
b = a[:]      # b = [1,2,3]
print(a == b)
print(a is b)

'Python > DataType&Structure' 카테고리의 다른 글

Mapping Type - dic(dictionary)  (0) 2019.11.26
Sequence Type - range  (0) 2019.11.26
Sequence Type - tuple  (0) 2019.11.26
Text Sequence Type (str)  (0) 2019.11.26
Numeric Data Type  (0) 2019.11.26

댓글