#15-파이썬 기초 실습 - 리스트(List)-4
2020. 1. 26. 10:32ㆍAI & BigData/Python Basics
파이썬 기초 실습 - 리스트(List) - 4¶
[리스트 조작 함수]
No. | 함수 | 설명 | 사용법(값) |
---|---|---|---|
1 | append() | 마지막에 값을 추가 한다. | data.append() |
2 | pop() | 마지막 값을 빼고 빼낸 값 을 삭제 | data.pop() |
3 | sort() | 항목 정렬 ( 기본값 : 오름차순 정렬) | data.sort() |
4 | reverse() | 항목 순서를 역순으로 변경 한다. | data.reverse() |
5 | index() | 지정한 값을 찾아서 그 위치를 반환 | data.index() |
6 | insert() | 지정된 위치에 값을 삽입. | data.insert() |
7 | remove() | 리스트에 저장된 값 삭제 | data.remove() |
8 | extend() | 리스트 뒤에 리스트를 추가한다. | data.extend() |
9 | count() | 리스트에서 찾을 값의 개수를 센다. | data.count() |
10 | del() | 리스트에서 해당 위치의 항목을 삭제 | data.del() |
11 | len() | 리스트에 포함된 전체 항목 개수를 센다. | data.len() |
12 | copy() | 리스트를 복사 합니다. | data.copy() |
- 파이썬 리스트의 append와 extend를 확인해보겠습니다.
- list.append(x)는 리스트 끝에 x 1개를 넣습니다.
- list.extend(iterable)는 리스트 끝에 iterable의 모든 항목을 넣습니다.
리스트 인덱싱(Indexing)¶
- 리스트의 특정 한 요소만을 선택하기 위하여 인덱싱(Indexing)을 사용하는데,
- 첫번째요소는 "리스트[0]",
- 두번째 요소는 "리스트[1]" 처럼 표현한다.
- 즉, 아래 예제에서 처럼 리스트 a 가 있을 때, a[1] 는 두번째 요소 10을 가리킨다.
- 파이썬 인덱싱에서 한가지 특별한 표현은 인덱스에 -1, -2 같은 음수를 사용할 수 있다는 점이다.
- 이 때, -1은 현재 리스트의 마지막 요소를, -2는 뒤에서 두번째 요소를 가리킨다.
In [1]:
list_x = ['1','2','3']
list_y = ['4','5']
list_x.append(list_y)
list_x # list_x에 append를 사용했을때에는 list_y의 원소를 그대로 넣었습니다.
Out[1]:
['1', '2', '3', ['4', '5']]
In [2]:
list_x[3] # y의 값이 3번째에 들어가 있는것을 확인할수 있습니다.
Out[2]:
['4', '5']
In [3]:
list_x = ['1','2','3']
list_y = ['4','5']
list_x.extend(list_y)
list_x
Out[3]:
['1', '2', '3', '4', '5']
In [4]:
# list_x에 extend를 사용했을때에는 list_y의 값이 ['4', '5'] 가 아닌 4 값이 저장되어 있습니다.
list_x[3] # list_y의 배열 값이해제된 상태로 들어가 있습니다.
Out[4]:
'4'
In [5]:
# 위에서 처럼 extend를 이중 배열러 넣어봤습니다.
list_x = ['1','2','3']
list_y = [['4','5'],['6','7']]
list_x.extend(list_y)
list_x
Out[5]:
['1', '2', '3', ['4', '5'], ['6', '7']]
In [6]:
# extend를 사용했을때 이중 배열을 사용해봤습니다. 이때... 배열 그대로 들어가 있습니다.
list_x[3]
Out[6]:
['4', '5']
In [7]:
list_data = [1,2,3,4]
list_data
Out[7]:
[1, 2, 3, 4]
In [8]:
# 리스트의 끝에 이터러블의 모든 항목을 덧붙여서 확장합니다. a[len(a):] = iterable 와 동등합니다.
list_data[len(list_data):] = '2'
list_data
Out[8]:
[1, 2, 3, 4, '2']
In [9]:
# 위에서 len(list_data) 를 추가 한것 처럼 동일하게 값이 삽입이 됩니다. --> 실행 할때마다 생성이 됨.
list_data.extend('3')
list_data
Out[9]:
[1, 2, 3, 4, '2', '3']
1. 리스트 데이터 추가¶
In [10]:
# 주어진 위치에 항목을 삽입합니다.
# 첫 번째 인자는 삽입되는 요소가 갖게 될 인덱스입니다.
# 그래서 list_data.insert(0, x) 는 리스트의 처음에 삽입하고,
# list_data.insert(len(list_data), x) 는 list_data.append(x) 와 동등합니다.
i = 3
x = '33'
list_data.insert(i, x)
list_data
# 실행을 할때마다 3번째에 추가가 되고 3번째 있던 값은 뒤로 밀려 갑니다.
Out[10]:
[1, 2, 3, '33', 4, '2', '3']
2. 리스트 데이터 삭제¶
- 리스트에서 값이 x 와 같은 첫 번째 항목을 삭제합니다.
- 그런 항목이 없으면 ValueError가 표시됩니다.
In [11]:
list_data
Out[11]:
[1, 2, 3, '33', 4, '2', '3']
In [12]:
x = '33'
list_data.remove(x)
list_data
Out[12]:
[1, 2, 3, 4, '2', '3']
In [13]:
x = '3'
list_data.remove(x)
list_data
Out[13]:
[1, 2, 3, 4, '2']
3. 리스트 팝(pop)¶
- 리스트에서 주어진 위치에 있는 항목을 삭제하고, 그 항목을 돌려줍니다.
- 인덱스를 지정하지 않으면, list_data.pop() 은 리스트의 마지막 항목을 삭제하고 돌려줍니다.
- (메서드 시그니처에서 i 를 둘러싼 꺾쇠괄호는 매개변수가 선택적임을 나타냅니다.
- 그 위치에 꺾쇠괄호를 입력해야 한다는 뜻이 아닙니다.
- 이 표기법은 파이썬 라이브러리 레퍼런스에서 지주 등장합니다.)
In [14]:
list_data
Out[14]:
[1, 2, 3, 4, '2']
In [15]:
# 리스트 데이터의 마지막 값이 삭제가 됩니다.
list_data.pop()
list_data
Out[15]:
[1, 2, 3, 4]
4. 리스트 clear¶
In [16]:
# 리스트의 모든 항목을 삭제합니다. del list_data[:] 와 동등합니다.
list_data.clear()
list_data
Out[16]:
[]
In [17]:
x = ['2','3']
list_data = ['1','2','3','4','5','6','7','8','9','0']
In [18]:
# 리스트에 있는 항목 중 값이 x 와 같은 첫 번째 것의 0부터 시작하는 인덱스를 돌려줍니다. 그런 항목이 없으면 ValueError 를 일으킵니다.
# 지정한 값을 찾아서 위치를 반환 합니다.
# list.index( x [ , 시작 [ , 끝 ] ] )
list_data.index(x[1])
Out[18]:
2
In [19]:
list_data.index(x[1],0,5) # 0 start 5 는 stop 사이의 x[1]의 값이 있으면 반환을 하고 없으면 valueError을 처리함..
Out[19]:
2
In [20]:
list_data.index(x[1],0,2) # 0 start 5 는 stop 사이의 x[1]의 값이 있으면 반환을 하고 없으면 valueError을 처리함..
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-20-ee7f876def6f> in <module>
----> 1 list_data.index(x[1],0,2) # 0 start 5 는 stop 사이의 x[1]의 값이 있으면 반환을 하고 없으면 valueError을 처리함..
ValueError: '3' is not in list
In [21]:
print(x)
print(list_data)
['2', '3']
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
In [22]:
# 선택적인 인자 start 와 end 는 슬라이스 표기법처럼 해석되고,
# 검색을 리스트의 특별한 서브 시퀀스로 제한하는 데 사용됩니다.
# 돌려주는 인덱스는 start 인자가 아니라 전체 시퀀스의 시작을 기준으로 합니다.
list_data.count(x)
# 리스트에서 x 가 등장하는 횟수를 돌려줍니다.
Out[22]:
0
In [23]:
list_data.sort(key=None, reverse=False)
# 리스트의 항목들을 제자리에서 정렬합니다 (인자들은 정렬 커스터마이제이션에 사용될 수 있습니다. 설명은 sorted() 를 보세요).
list_data
Out[23]:
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
In [24]:
list_data.reverse()
# 리스트의 요소들을 제자리에서 뒤집습니다.
list_data
Out[24]:
['9', '8', '7', '6', '5', '4', '3', '2', '1', '0']
In [25]:
b = list_data.copy()
# 리스트의 얕은 사본을 돌려줍니다. a[:] 와 동등합니다.
print(f"list_data : {list_data}")
print(f" b의 data : {b}")
list_data == b
list_data : ['9', '8', '7', '6', '5', '4', '3', '2', '1', '0']
b의 data : ['9', '8', '7', '6', '5', '4', '3', '2', '1', '0']
Out[25]:
True
In [ ]:
'AI & BigData > Python Basics' 카테고리의 다른 글
#17-파이썬 기초 실습 - 리스트(List)-6 (0) | 2020.01.28 |
---|---|
#16-파이썬 기초 실습 - 리스트(List)-5 (0) | 2020.01.27 |
#14-파이썬 기초 실습 - 리스트(List) - 3 (0) | 2020.01.25 |
#13-파이썬 기초 실습 - 리스트(List) -2 (0) | 2020.01.24 |
#12-파이썬 기초 실습 - 리스트(List) - 1 (0) | 2020.01.23 |