List - Store Multiple Values in one Variable using list
Python에서는 리스트(List)를 통해 여러개의 데이터를 한 곳에 저장할 수 있다.
sandwich = ["peanut butter", "jelly", "bread"]
List는 대괄호로 감싸여져 있으며, 데이터 요소와 요소는 쉼표로 구분합니다.
리스트안에 다시 리스트를 만드는 것도 가능하며 그 형태는 아래와 같아.
[["Bulls", 23], ["White Sox", 45]]
우리는 인덱스를 사용해서 리스트의 데이터에 접근할 수 있다
리스트 역시 문자열과 마찬가지로 0을 기준으로 인덱스를 시작합니다.
리스트 역시 문자열처럼 인덱싱을 적용할 수 있다. 먼저 a 변수에 [1, 2, 3] 값을 설정한다.
a = [1, 2, 3]
a
>>>[1, 2, 3]
a[0]은 리스트 a의 첫 번째 요솟값을 말한다.
a[0]
>>1
다음 예는 리스트의 첫 번째 요소인 a[0]과 세 번째 요소인 a[2]의 값을 더한 것이다.
a[0] + a[2]
>>>4
이것은 1 + 3으로 해석되어 값 4를 출력한다.
파이썬은 숫자를 0부터 세기 때문에 a[1]이 리스트 a의 첫 번째 요소가 아니라 a[0]이 리스트 a의 첫 번째 요소임을 명심하자. a[-1]은 문자열에서와 마찬가지로 리스트 a의 마지막 요솟값을 말한다.
a[-1]
>>>3
다차원 리스트(리스트 중첩)의 경우에도 동일하게 적용가능하다.
a = [1, 2, 3, ['a', 'b', 'c']]
a[-1]
>>>['a', 'b', 'c']
a[3]
>>>['a', 'b', 'c']
리스트는 각각의 인덱스에 담긴 데이터에 대한 수정이 자유롭다.
1.append()
리스트명.append(element)
append 메소드로 element값을 추가 할 수 있다
append 메소드는 리스트의 가장 끝에 값을 추가한다
arr = [1,2,3];
arr.append(4);
# arr is now [1,2,3,4]
2.insert()
리스트명.insert(위치, element)
insert메서드를 활용하는 것으로 리스트의 중간에 요소를 추가한다.
arr = [1,2,3];
arr.list(0,20);
# arr is now [20,1,2,3]
1.pop( )
리스트명.pop(인덱스)
pop()은 리스트의 특정 인덱스에 있는 요소를 제거하며 매개변수를 입력하지 않을경우 뒤에서부터 요소를 제거한다.
three = [1, 4, 6]
three.pop(0)
print(three)
>>>[4,6]
2.del
del 리스트명[인덱스]
del또한 pop과 동일하게 인덱스 값으로 제거한다.
three = [1, 4, 6]
del three[1]
print(three)
>>>[1,6]
3.remove
리스트.remove(값)
값으로 제거하는 remove()함수로도 제거가 가능하다
list_c=[1,2,1,2]
list_c.remove(2)
list_c
>>>[1,1,2]
remove()로 지정한 값이 리스트 내부에 여러개 있다?
->위의 예처럼 먼저 발견되는 값이 한개 먼저 제거된다.
4.clear
리스트.clear()
리스트 내부의 모든 요소를 제거할 때 사용
list_d = [0,2,3,4]
list_d.clear()
list_d
>>[] #빈 리스트가 나옴
color_list = color_list + ["Light Blue", "Pink"]'
list1 = [1,2,3]
list1 = list1 + [4,5,6]
#list1이 [1,2,3,4,5,6]이 된다
new_list = list1 + [4,5,6]
#new_list가 [1,2,3,4,5,6]이 된다
list1 = [1,2,3]
print(list_a * 3)
>>>[1,2,3,1,2,3,1,2,3]
list1 = [1,2,3]
print(len(list_a))
>>>3
파이썬에서는 리스트의 일부분을 따로 copy 할 수 있다.
list_name[start : stop:(step)]
여기서 stop부분은 포함이 되지 않는다는것에 주의!!
괄호친 Step은 그 값만큼 건너뛰어 가져오는 기능으로 사용할때도 있고 안할때도 있음
list_a = [1,2,3,4,5,6]
list_b = list_a[1:4:2]
print(list_b)
>>>[1,4]
위의 예시는 인덱스[1]부터 [4]의 사이에 2칸식 건너뛴 값을 나오게 하라는 뜻
-만일 범위의 한쪽을 지정하지 않으면 해당 list의 첫 요소 부터 시작합니다.
list_c= [0.1.2.3.4.5.6]
list_f = list_c[:3]
print(list_f)
>>>0,1,2
-반대로, stop index를 빈칸으로 남겨두면 start index 부터 끝까지 가져옵니다.
[list_c= [0.1.2.3.4.5.6]
list_f = list_c[3:]
print(list_f)
>>>3,4,5,6
여기서 주의사항은 slicing은 오리지널 list를 수정하는게 아니라, 새로운 list를 만들어 낸다는 점이다. 오리지널 list는 변화가 없다