[TIL]Python.LIST

여주링·2020년 11월 23일
0

Python

목록 보기
4/15

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']

리스트 요소추가,제거

리스트는 각각의 인덱스에 담긴 데이터에 대한 수정이 자유롭다.

리스트 element추가

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]

리스트 element제거

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 
>>[] #빈 리스트가 나옴

리스트 연산자

    • (연결)
      추가하고자 하는 element가 한개 이상일때는 append 대신에 + 를 사용할 수 있습니다.
color_list = color_list + ["Light Blue", "Pink"]'
  • 를 사용하여 element들을 추가 할때는 대괄호 ([]) 를 사용한다.
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]
  1. len()
    len()함수에 리스트 변수를 넣으면 요소의 개수를 세어 준다.
list1 = [1,2,3]

print(len(list_a))
>>>3

List Slicing

파이썬에서는 리스트의 일부분을 따로 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는 변화가 없다

profile
🌱Backend Developer👩‍💻

0개의 댓글