#12-파이썬 기초 실습 - 리스트(List) - 1
2020. 1. 23. 10:29ㆍAI & BigData/Python Basics
파이썬 기초 실습 - 리스트(List) - 1¶
데이타 타입¶
* 리스트(List)
- 리스트는 여러 요소들을 갖는 집합(컬렉션)으로 새로운 요소를 추가하거나 갱신, 삭제가 가능합니다.
- 파이썬의 리스트는 동적배열(Dynamic Array)로서 자유롭게 확장할 수 있는 구조를 갖는다.
- 리스트는 그 안의 요소(element)들은 그 값을 자유롭게 변경할 수 있는 Mutable 데이타 타입이다.
- 리스트의 요소들은 Square bracket([ ])으로 둘러쌓여 컬렉션을 표현한다.
- 각 요소들은 서로 다른 타입이 될 수 있으며, 컴마(,)로 구분한다. 요소가 없는 빈 리스트는 "[]"와 같이 표현한다.
In [1]:
list_a = [] # 빈 리스트 생성
list_a = [True, 1, 2, 10, False, " 리스트 "]
list_a
Out[1]:
[True, 1, 2, 10, False, ' 리스트 ']
In [2]:
type(list_a) ## a의 타입이 list라는 것을 확인할수 있습니다.
Out[2]:
list
In [3]:
list_a = [1,2,3]
b = [1,2,list_a]
# [1, 2, [1, 2, 3]] 리스트 안에 리스트 할당 가능
b
Out[3]:
[1, 2, [1, 2, 3]]
In [4]:
list_a[0] # 여기서 [0]은 인덱스. 따라서 결과는 1
Out[4]:
1
In [5]:
list_a[0] = 100 # a = [100,2,3] 새로운 인덱스 0값을 넣어줌
list_a
Out[5]:
[100, 2, 3]
In [6]:
# 쥬피터 노트북 에서는 그대로 [1,2,3] 출력
# 기타 컴파일러에서는 print문을 이용하면 된다.
[1,2,3]
Out[6]:
[1, 2, 3]
In [7]:
['hi',1,[1,2]]
Out[7]:
['hi', 1, [1, 2]]
In [8]:
# 한글 변수명 사용 테스트...
리스트 = ['a','b','c']
리스트
Out[8]:
['a', 'b', 'c']
In [9]:
리스트.append('d') # 리스트 에 d를 추가
In [10]:
리스트
Out[10]:
['a', 'b', 'c', 'd']
In [11]:
리스트[0]
Out[11]:
'a'
In [12]:
중첩리스트 = [1,2,3,[4,5,['가장 안쪽의 값']]]
In [13]:
중첩리스트[3]
Out[13]:
[4, 5, ['가장 안쪽의 값']]
In [14]:
중첩리스트[3][2]
Out[14]:
['가장 안쪽의 값']
In [15]:
중첩리스트[3][2][0]
Out[15]:
'가장 안쪽의 값'
1. 리스트 의 기본 복습¶
In [16]:
list_a = []
type(list_a) # <class 'list'> # 변수의 타입을 확인 할때 사용함..
Out[16]:
list
In [17]:
id(list_a) # 2554983921096 # 컴퓨터 마다 값이 다르게 보입니다.
Out[17]:
1572373235016
In [18]:
# 파이썬 2.x 버전에서는 값이 고정이였지만.. 3.x버전 부터는 바뀌는것 같습니다.. ( 추가 확인 필요. )
hash(list_a) # 고정값이 아니라서 접근이 안 된다. TypeError: unhashable type: 'list' 발생함.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-18-e071b6a332fe> in <module>
1 # 파이썬 2.x 버전에서는 값이 고정이였지만.. 3.x버전 부터는 바뀌는것 같습니다.. ( 추가 확인 필요. )
----> 2 hash(list_a) # 고정값이 아니라서 접근이 안 된다. TypeError: unhashable type: 'list' 발생함.
TypeError: unhashable type: 'list'
In [19]:
hash('123')
Out[19]:
991422266091179680
2. 리스트를 튜플과의 비교¶
In [20]:
list_a = ()
print(type(list_a)) # <class 'tuple'>
print(id(list_a)) # 2554938458184
print(hash(list_a)) # 고정값이라 접근이 된다. 3527539
<class 'tuple'>
1572329291848
3527539
3. 사전과의 비교¶
In [21]:
list_a = {}
print(type(list_a)) # <class 'dict'>622932134536622881210440
print(id(list_a))
<class 'dict'>
1572374068104
In [22]:
print(hash(list_a)) # 고정값이 아니라서 접근이 안 된다. TypeError: unhashable type: 'dict'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-22-15dbc7e18d82> in <module>
----> 1 print(hash(list_a)) # 고정값이 아니라서 접근이 안 된다. TypeError: unhashable type: 'dict'
TypeError: unhashable type: 'dict'
4. 리스트 특징 확인¶
In [23]:
# 내부 데이터의 변형이 쉽다.
list_a = [1,'3'] # 타입과 관계없이 다 집어 넣을 수 있습니다.
print(list_a) # [1, '3']
print(len(list_a)) # 2
print('---'*10)
list_a[1] = 'Python' # 데이터 변환이 쉽게 되어 있습니다.
print(list_a) # [1, 'Python']
print('---'*10)
list_a.append('파이썬') # 추가
print(list_a) # [1, 'Python', '파이썬']
print('---'*10)
# 문자열을 리스트로 변환.
list_a = list('Python') # ['P', 'y', 't', 'h', 'o', 'n']
print(list_a)
[1, '3']
2
------------------------------
[1, 'Python']
------------------------------
[1, 'Python', '파이썬']
------------------------------
['P', 'y', 't', 'h', 'o', 'n']
In [24]:
list(1) # TypeError: 'int' object is not iterable
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-d34182c3e3e6> in <module>
----> 1 list(1) # TypeError: 'int' object is not iterable
TypeError: 'int' object is not iterable
In [25]:
list_a = [1,2,3]
list_a * 3
Out[25]:
[1, 2, 3, 1, 2, 3, 1, 2, 3]
5. 리스트 생성을 쉽게 만들수 있다.¶
In [26]:
3 in list_a # True
Out[26]:
True
In [27]:
list_a = range(15) # range(0,15)
print(list_a)
list_a = list(list_a)
print(list_a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
range(0, 15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
In [28]:
list_a[-1] # 14
Out[28]:
14
6. 리스트의 연산¶
In [29]:
list_a = [1,2,3]
list_a
Out[29]:
[1, 2, 3]
In [30]:
list_a[0] = 100 + list_a[0]
list_a # [101,2,3]
Out[30]:
[101, 2, 3]
7. 리스트 합치기¶
In [31]:
list_a = [1,2,3]
list_b = [4,5,6]
list_a+list_b # [1, 2, 3, 4, 5, 6]
Out[31]:
[1, 2, 3, 4, 5, 6]
In [ ]:
'AI & BigData > Python Basics' 카테고리의 다른 글
#14-파이썬 기초 실습 - 리스트(List) - 3 (0) | 2020.01.25 |
---|---|
#13-파이썬 기초 실습 - 리스트(List) -2 (0) | 2020.01.24 |
#11-파이썬 기초 실습 - 인풋(Input) (0) | 2020.01.22 |
#10-파이썬 기초 실습-출력 (0) | 2020.01.21 |
#09-파이썬 기초 실습-포멧팅-2 (0) | 2020.01.20 |