PS, 언어 공부/Python

[Python] 리스트의 여러가지 사용방법

Emil :) 2019. 12. 26. 12:32
728x90
반응형

개요


파이썬의 리스트는 자바, C의 배열과 유사한 형태를 띄고있다. 아직 파이썬 문법에 익숙하지 않아서 메모해본다.

 

오늘의 주제


  1. 리스트와 관련된 함수 알아보기
  2. 리스트 조작법

 

진행 과정


1. 파이썬의 리스트는 같은 리스트에 여러개의 자료형 삽입이 가능하다.

예제로 사용할 리스트(계속 쓰인다)
list = ["이름", 1, 3, 5.2]

 

2. 리스트값 조회

리스트의 기본적인 조회방법은 다음과 같다.

예제
list = ["이름", 1, 3, 5.2]

print(list[0])
print(list[1])
print(list[2])
print(list[3])
결과
이름
1
3
5.2

 

3. 리스트값 추가

추가하기는 여러가지 방식이있다.

3-1. append 함수 사용하기
list = ["이름", 1, 3, 5.2]

list.append(7)
print(list)
결과
['이름', 1, 3, 5.2, 7]
3-2. += 연산자 사용하기
list = ["이름", 1, 3, 5.2]

list.append(7)
print(list)
    
list+=[9]
print(list)
결과
['이름', 1, 3, 5.2, 7]
['이름', 1, 3, 5.2, 7, 9]

제일 뒷자리에 하나씩 추가된다고 생각하면 편하다.

 

리스트끼리 합칠땐 extend()를 써도 되고, +를 사용해도 된다.

3-3. extend() 사용하기
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

list.extend(list2)
print(list)
결과
['이름', 1, 3, 5.2, '이이잉', '앗살람알라이꾸움', 6, 0]
3-4. + 사용하기
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

list = list + list2
print(list)

결과는 마찬가지.

 

2차원 리스트로 만드는 방법도있다.

3-5. 2차원 리스트로 표현하기
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

print([list, list2])
결과
[['이름', 1, 3, 5.2], ['이이잉', '앗살람알라이꾸움', 6, 0]]

그렇다면 원하는걸 뽑고싶다면?
list의 3, list2의 '이이잉'을 뽑아보자. 어떻게하면될까?

list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

print([list[2], list2[0]])
결과
[3, '이이잉']

간단하다.

 

4. 특정 값 조회

그렇다면, 내가 원하는 값의 인덱스를 알고싶다면?

 

4-1. index함수 사용하기
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

print(list.index('이름'))
결과
0

당연하겠지만, 없는 값 입력하면 에러난다.

 

5. 특정값의 갯수 세기

갯수는 count()를 활용하면된다.

5-1. count()
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

temp = list.count(3)
print(temp)
결과
1

3의 갯수가 1개니까 1로 나온다.

 

6. 특정값 삭제 및 정렬

삭제는 remove() 함수를 사용하면된다.

6-1. remove()
list = ["이름", 1, 3, 5.2]
list2 = ["이이잉", "앗살람알라이꾸움", 6, 0]

list.remove(5.2)
print(list)
결과
['이름', 1, 3] 

중복된 값이 있다면, 제일 앞의 값 하나만 삭제된다.

 

정렬은 sort() 를 사용한다.

6-2. sort()
list = [10, 3, 5.2]

list.sort()
print(list)
결과
[3, 5.2, 10]

당연하겠지만, 문자열과 숫자형이면 정렬안된다. 문자열만 있으면 알파벳순으로 정렬은 된다.

 

결과


그냥 그러려니 하고 찾아쓰려고했는데 찾기 귀찮아서 내 블로그에 걍 정리해따

728x90
반응형