
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 |
댓글