python 기초2
1.리스트
리스트는 여러 요소들을 갖는 집합(컬렉션)으로 새로운 요소를 추가하거나 갱신, 삭제하는 일이 가능합니다.
파이썬의 리스트는 동적배열(Dynamic Array)로서 자유롭게 확장할 수 있는 구조를 가지고 있습니다.
리스트는 그 안의 요소(element)들은 그 값을 자유롭게 변경할 수 있는 Mutable 데이터 타입입니다.
1-1.리스트 만들기
리스트를 사용하면 1, 3, 5, 7, 9 숫자 모음을 다음과 같이 간단하게 표현할 수 있습니다.
number_list = [1,2,3,7,9]
1-2.리스트 값 찾기
몇 번째 리스트에 어떤 값이 있는지 알려면 아래와 같이 해주시면 됩니다.
a = [1,2,3,4]
print('a의 0번째 값은', a[0], '입니다.')
# Output:
# a의 0번째 값은 1 입니다.
a = [1,2,3,4]
print('a의 1~2번째 값은', a[0:2], '입니다.')
# Output:
# a의 1~2번째 값은 [1, 2] 입니다.
a = [1,2,3,4]
print('a의 뒤에서 2번째 값은', a[-2], '입니다.')
# Output:
# a의 뒤에서 2번째 값은 3 입니다.
1-3.리스트 연산하기
리스트 더하기
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b)
# Output:
# [1, 2, 3, 4, 5, 6]
리스트 반복하기
a = [1, 2, 3]
print(a * 3)
# Output:
# [1, 2, 3, 1, 2, 3, 1, 2, 3]
리스트 길이 구하기
a = [1, 2, 3]
print(len(a))
# Output:
# 3
특정 개수가 몇개인지 구하기
a = [1, 2, 3, 4, 1]
print(a.count(1))
# Output:
# 2
특정 값이 몇번째에 있는지 구하기
a = [1, 2, 3, 4]
print(a.index(3))
# Output:
# 2
1-4.리스트 추가,수정,삭제
append 로 리스트 추가
append(x)는 리스트의 맨 마지막에 x를 추가하는 함수 입니다.
a = [1, 2, 3]
a.append(4)
print(a)
# Output:
# [1, 2, 3, 4]
insert 로 리스트 추가
insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수 입니다.
a = [1, 2, 3]
a.insert(0, 4)
print(a)
# Output:
# [4, 1, 2, 3]
리스트 확장하기
extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더합니다.
a = [1, 2, 3]
a.extend([4, 5])
print(a)
# Output:
# [1, 2, 3, 4, 5]
리스트에서 값 수정하기
a = [1, 2, 3, 4]
a[1] = 7
print(a)
# Output:
# [1, 7, 3, 4]
del 함수를 이용하여 삭제하기
a = [1, 2, 3, 4]
del a[1]
print(a)
# Output:
# [1, 3, 4]
1-5.리스트 정렬, 뒤집기
sort 함수는 리스트의 요소를 순서대로 정렬해 줍니다.
a = [1, 4, 3, 2]
a.sort()
print(a)
# Output:
# [1, 2, 3, 4]
reverse 함수는 리스트를 역순으로 뒤집어 줍니다.
a = ['a', 'c', 'b']
a.reverse()
print(a)
# Output:
# ['b', 'c', 'a']
2.튜플
Tuple은 리스트와 비슷하게 여러 요소들을 갖는 컬렉션 입니다.
리스트와 다른 점은 Tuple은 새로운 요소를 추가하거나 갱신, 삭제하는 일을 할 수 없습니다.
2-1.튜플과 리스트의 다름점
- 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.
- 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.
2-2.튜플 만들기
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))
리스트와 모습은 거의 비슷하지만 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있습니다.
t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다는 것과 t4 = 1, 2, 3처럼 괄호( )를 생략해도 무방하다는 점입니다.
튜플은 값을 변화시킬 수 없다는 점만 제외하면 리스트와 완전히 동일합니다.
3.딕셔너리
딕셔너리는 “키(Key) - 값(Value)” 쌍을 요소로 갖는 컬렉션 입니다.
딕셔너리는 흔히 Map 이라고도 불리우는데, 키(Key)로 신속하게 값(Value)을 찾아내는 해시테이블(Hash Table) 구조를 가지고 있습니다.
자바스크립트의 object라고 생각하시면 편합니다.
3-1.딕셔너리 만들기
dic = {"name": "홍길동", "age": 25, "phone": "010-000"}
print(dic)
# Output:
# {'name': '홍길동', 'age': 25, 'phone': '010-000'}
딕셔너리 dic의 정보
key | value |
---|---|
name | 홍길동 |
age | 25 |
phone | 010-000 |
3-2.딕셔너리 값 찾기
딕셔너리의 값은 key를 이용해서 찾을 수 있습니다.
dic = {"name": "홍길동", "age": 25, "phone": "010-000"}
print(dic["name"])
# Output:
# 홍길동
3-3.딕셔너리 추가,수정,삭제
추가 방법
dic = {"name": "홍길동", "age": 25, "phone": "010-000"}
dic["gender"] = "man"
print(dic)
# Output:
# {'name': '홍길동', 'age': 25, 'phone': '010-000', 'gender': 'man'}
수정 방법
dic = {"name": "홍길동", "age": 25, "phone": "010-000"}
dic["age"] = 30
print(dic)
# Output:
# {'name': '홍길동', 'age': 30, 'phone': '010-000'}
삭제 방법
dic = {"name": "홍길동", "age": 25, "phone": "010-000"}
del dic["phone"]
print(dic)
# Output:
# {'name': '홍길동', 'age': 25}