LIST
리스트는 서로 다른 타입이면서도 복수의 값들을 '읽고 쓸수' 있는 Python의 내장 데이터 타입이다.
>>>whales = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
whale 이란 변수는 14개의 값을 저장한, list 를 포함한다.
-
whales refers to a list with 14 elements
-
[] is an empty list: a list with no elements
-
A list is an object, but it also contains the memory addresses of other objects
>>>whales[0]
1
>>>whales[-1]
6
>>>another = whales[0]
>>>another
1
-
Lists can contain integers, strings, and even other lists.
>>> krypton = ['krypton','kr',-152.7,-153]
>>> krypton[1]
'kr'
Lists are mutable
-
Lists are mutable (can be mutated)
-
Strings are immutable
>>>number_list=[2,4,5,8.10]
>>>number_list[2]=6
>>>number_list
[2,4,6,8,10]
[] 문법의 원래 정의는 [start:end:step]으로서, 숫자를 [n]처럼 하나만 주면 해당 n의 위치를 나타내고,
숫자를 두개 주면 [start:end]으로서 start에서 end-1번째 아이템을 추출한다는 의미이다.
숫자를 세개 구는 경우는 [start:end:step]로서 start부터 end-1까지 아이템을 추출하되, step개씩 건너띄면서 추출하겠다는 것이다.
즉, course[0:4:2]으로 하면 0번째 아이템에서 4번째 아이템 중에서, 0/2 번째 아이템을 추출하는 것을 의미한다.
sorted!!! 많이 쓰는 함수이다.
a=[2,4,1,7,3]
>>>sorted(a)
[1,2,3,4,7]
>>>a
[2,4,1,7,3]
>>>b=[3]
>>>a+b
[2,4,1,7,3,3]
>>>metals=['Fe','N1']
>>>metals*3
['Fe','N1','Fe','N1','Fe','N1']
>>>del metals[0] //0 번쨰 element 삭제
>>>metals
['N1']
>>>1 in [0,1,2,3] // list에 1 element 가 있는가
true
>>>[1] in [0,1,2,3] //list에 1 list가 있는가
false
리스트 복사 및 별칭 이해하기
slicing list
vs
aliasing : 동작을 수행하는 환경에 맞는 이름을 변경하고 싶을 떄
y : aliasing
z : copying
예시
course = [ "Python", "Javascript", "C++", "__reserved__" ]
courseAliasing = course # Alising
courseCopy = course[:] # Copy whole elements
print("[Before]")
print("course: ", course)
print("courseAliasing: ",courseAliasing)
print("courseCopy: ", courseCopy)
courseAliasing[3] = "CSS3"
courseCopy[3] = "HTML5"
print("[After]")
print("course: ", course)
print("courseAliasing: ",courseAliasing)
print("courseCopy: ", courseCopy)
>>>
[Before]
course: ['Python', 'Javascript', 'C++', '__reserved__']
courseAliasing: ['Python', 'Javascript', 'C++', '__reserved__']
courseCopy: ['Python', 'Javascript', 'C++', '__reserved__']
[After]
course: ['Python', 'Javascript', 'C++', 'CSS3']
courseAliasing: ['Python', 'Javascript', 'C++', 'CSS3']
courseCopy: ['Python', 'Javascript', 'C++', 'HTML5']
>>>
별도의 return 구문이 없어도 지워져있다. 이미 값은 바껴있다.
List methods
-
List is a type
-
List is a class
-
List has methods.
중첩된 리스트 (List of Lists) 이해하기
student1 = [["Python", 76.5], ["C++", 97], ["Javascript", 99]]
print(student1)
print(student1[1])
student1[1][1] = 98
print(student1[1])
print(student1)
>>>
[['Python', 76.5], ['C++', 97], ['Javascript', 99]]
['C++', 97]
['C++', 98]
[['Python', 76.5], ['C++', 98], ['Javascript', 99]]
해당 자료는 경희대학교 소프트웨어융합학과 이성원교수님 수업내용을 참조하였습니다.
'Code > Phyton' 카테고리의 다른 글
파이썬으로 공연예술 검색엔진 만들기(2) (0) | 2019.12.28 |
---|---|
파이썬으로 공연예술 검색엔진 만들기(1) (0) | 2019.12.28 |
[Phyton] Modules/ Method & Class/ Object (1) | 2019.09.30 |
[Phyton] String/ Escape Sequence/ Slicing String (0) | 2019.09.23 |
[Phyton] Function Design Recipe (FDR) (0) | 2019.09.22 |