재유's

[Python3] 연속성 자료(1) List 본문

IT Story/: : Python

[Python3] 연속성 자료(1) List

Stella_NY 2018. 11. 22. 11:16

Python에서의 연속성 자료형에서 

List, Tuple, Dictionary등 이있는데 


이 포스팅에서는 List에 대해서 알아보겠습니다.



List ( 리스트 )

List는 Java에서 나오는 List와 다르게 배열입니다. arr[] 라고 쓰는 배열을 Python에서는 List라고 합니다.

변수를 그룹으로 묶은 형태의 한 종류로, 사물한 같은 형태를 갖고 있으며


다른 프로그래밍 언어와 다르게 하나의 리스트안에는 서로 다른 종류의 값들이 저장될 수 있습니다.

보통 다른 프로그래밍 언어에서 배열에 값을 지정할때 String타입은 String 값만, int타입은 int 값만 넣을 수 있지만

Python에서는 String, Int 타입 상관없이 값을 입력이 가능합니다!


그리고 각 칸은 0부터 일련번호가 지정됩니다. 즉, 'Index(인덱스)'로 지정이 되는것이에요~

이러한 특성때문에 문자열과 동일하게 인덱싱과 슬라이싱이 가능합니다.


구현은


List이름 = [ 값1, 값2, ..., 값n ]


형태이며 1차원, 2차원, 3차원식으로 다차원 List가 구현가능합니다.


1차 리스트

 - 한 줄만 존재하는 사물한 같이 구성된 리스트로써 에 대한 개념만 존재 합니다.


값1 

값2 

값3 

값4 

값5 

값6 

값7 

값8 

값9 

값10 



2차 리스트

 - 1차 리스트의 각 칸에 새로운 리스트를 넣은 형태 

1차 리스트의 각 칸은 , 각 칸에 있는 개별적인 리스트들은 의 개념이 되어 행렬을 구성합니다.

1차 값1

2차 값1

 2차 값2

 2차 값3

 2차 값4

 

 

 

 

 1차 값2

 

 

 

 

 1차 값3

 

 

 

 

 1차 값4

 

 

 

 

 1차 값5

 

 

 

 

 1차 값6

 

 

 

 

 1차 값7

 

 

 

 

 1차 값8


너무 대충 그렸지만 이런 형태의 리스트가 들어있습니다.

JAVA에서 2차 배열과 같은 형태에요~



다차원 리스트

 - 리스트 안에 리스트를 또 리스트를 넣을 수 있는 무제한으로 확장할 수 있습니다.

 하지만 실무에선 거의 사용되지 않는다고 합니다.


List의 값에 접근 하기 위해선 인덱싱을 사용합니다.

ex) 


- 1차 리스트


1
2
3
4
5
a_list = [ '국어''수학''영어''과학''사회' ] 
 
#'영어'를 추출하고 싶을때
 
print(a_list[2])



- 2차 리스트


1
2
3
4
a_list = [ ["대한민국""일본""중국"], ["미국""캐나다"], ["프랑스""독일""스페인"] ] 
# 값은 대한민국와 스페인을 가져온다고 하면
print(a_list[0][0])  # 대한민국
print(a_list[2][2])     #  스페인



이런식으로 가져올 수 있습니다.


리스트 덧셈은 연결

1
2
3
4
5
= [1,2,3]
= [4,5]
print(a+b)
 
# [1,2,3,4,5]



리스트 곱셈은 반복

1
2
3
4
= [1,2,3]
print(a*2
 
# [1,2,3,1,2,3]



리스트의 확장

인덱싱으로 지정된 범위의 원소 수 보다 많은 리스트를 대입할 경우 리스트가 확장 됩니다.

1
2
3
4
5
=[1,2,3]
a[1:3= [5,6,7,8,9]    # 2번째 값부터 4번째 값까지 
print(a)
 
#[1,5,6,7,8,9]



리스트의 축소

확장과 반대로 적은 리스트를 대입할 경우 리스트가 축소됩니다.

1
2
3
4
5
= [1,2,3]
a[1:3= [5]
print(a)
 
# [1,5]



리스트 원소 삭제

1. del() function과 인덱싱을 통해 삭제가 가능합니다.

1
2
3
4
a=[1,2,3]
printdel(a[1] )
 
# [1,3]



2. 축소의 원리를 응용해서 슬라이싱으로 삭제도 가능합니다.

1
2
3
4
5
a=[1,2,3]
a[1:3= []
print(a)
 
# [1]



len()

  - 리스트의 원소수를 카운트


append(mixed) 

  - 리스트에 파라미터로 전달된 항목을 추가


insert(int,mixed) 

  - 지정된 위치에 두 번째 파라미터로 전달된 값을 삽입, 그 자리에 있었던 원래의 원소는 뒤로 한칸씩 밀려남


extend(list)

  - 원본 리스트에 파라미터로 전달된 리스트를 결합. 리턴값 없이 원본 자체가 수정


pop()

  - 맨 마지막 원소를 꺼내서 리턴하고, 원본에서 삭제


count(mixed)

  - 파라미터로 전달된 값과 동일한 원소가 몇 개 있는지 카운트한 결과를 리턴


index(mixed)

  - 파라미터로 전달된 값과 동일한 원소가 가장 처음 등장하는 위치를 리턴.


reverse() = sort(reverse=True)

  - 원본을 역순 재배치


sort() 

  - 원본을 오름차순으로 재배치


split("")

  - 주어진 글자를 기준으로 문자열을 잘라 리스트로 반환


 

1
2
3
4
5
= "Hello,Python,World"
= a.split(",");
print (b) 
 
# ["Hello", "Python", "World"]



* mixed라는 의미는 모든 종류의 값이 가능합니다.

* insert(int, mixed)의 의미는 첫번째 값은 무조건 정수형이여야되며 두번째부터는 원하는 값 아무거나 사용할 수 있습니다!





'IT Story > : : Python' 카테고리의 다른 글

[Python3] 리스트 복사 처리  (0) 2018.11.23
[Python3] 연속성 자료(2) Tuple, Dictionary  (0) 2018.11.22
[Python3] Escape 문자  (0) 2018.11.21
[Python3] 사칙연산자  (0) 2018.11.21
Python 코딩을 하기 전에  (0) 2018.11.19
Comments