color_list = color_list + ["Light Blue", "Pink"]
추가하고자 하는 element를 list형태로 만든 후 추가해준다.
주의해야할 점은, +를 사용하여 더한 list를 저장하고자 하는 변수에 지정해줘야 한다.
ex)
list1 = [1,2,3,4]
list2 = [4,5,6]
list1 = list1 + list2
list3 = list1 + list2
print(list1) # 출력 : [1,2,3,4,5,6]
print(list3) # 출력 : [1,2,3,4,5,6]
List에 + 연산을 사용하면 기존의 list와 다른 새로운 list가 생성되므로 새롭게 생성된 배열을 담아줄 변수가 필요하다.
'+' 연산을 통해 새롭게 생성된 배열을 담아주지 않으면 생기는 일
list1 = [1,2,3,4]
list2 = [4,5,6]
list1 + list2
print(list1) # 출력 : [1,2,3,4]
.insert는 원하는 위치에 element를 list에 삽입 할 수 있다.
.insert(삽입하고자 하는 위치(index), 추가하고자 하는 element)
cities = [
'서울특별시',
'부산광역시',
'인천광역시',
'대구광역시',
'대전광역시'
]
cities.insert(1,'경기도 성남시')
print(cities)
# 출력 : ['서울특별시', '경기도 성남시', '부산광역시', '인천광역시', '대구광역시', '대전광역시']
List Slicing이란 list의 일부분은 따로 copy 하는 기능이다.
list_name[start,stop,step]
start는 slice할 list의 첫번째 인덱스 번호
stop은 slice할 리스트가 멈추는 인덱스 번호 (미포함)
step 한번에 건너 뛸 요소 (optional, default 값은 1)
ex)
list = ['RM','제이홉','진','정국','지민','뷔','슈가']
sub_list = list[1:4]
print(sub_list) # 출력 : ['제이홉','진','정국']
sub_list_step = list[2,6,2]
print(sub_list_step) # 출력 : ['진','지민']
del, .remove를 사용해 리스트의 요소를 삭제할 수 있다.
del은 인덱스를 사용해서 list의 요소를 지우는 키워드이다. 해당 요소를 지운 후 list는 다시 재정렬된다.
twice = [ "나연", "사나", "정연", "모모", "미나", "채영", "다현", "쯔위", "지효"]
del twice[3] # 3번째 인덱스의 요소는 "모모"
print(twice)
# 출력 : ["나연", "사나", "정연", "미나", 채영", "다현", "쯔위", "지효"]
.remove는 요소의 값을 이용해 삭제하는 메소드이다.
twice = [ "나연", "사나", "정연", "모모", "미나", "채영", "다현", "쯔위", "지효"]
twice.remove("모모")
print(twice)
# 출력 : ["나연", "사나", "정연", "미나", 채영", "다현", "쯔위", "지효"]
Tuple이 List와 다른점은 수정이 불가능하다는 것이다. 따라서 수정을 할 수 있는 list보다 차지하는 메모리의 공간이 작으며, 간단한 데이터를 보관하는데 list보다 더 효과적이라고 할 수 있다.
my_tuple = (1,2,3,4,5,6) # tuple은 소괄호 ()를 사용한다.
set을 생성하는 2가지 방법이다.
# 방법 1
set = {1,2,3}
# 방법 2
set = set([1,2,3])
List와 비슷하지만 구별되는 2가지 특징이 있다.
무작위 순서이므로 당연히 for문을 돌려서 요소를 하나하나 꺼냈을 때 무작위 순서로 나온다.
중복되는 요소가 없으므로 만약 중복되는 요소가 set에 추가될때 새로운 요소가 이전 요소를 치환(replace) 한다.
set1 = {1,2,3,4,1}
print(set1) # 출력 : {1,2,3,4}
set2 = set([1,2,3,4,5,2])
print(set2) # 출력 : {1,2,3,4,5}
Set에 요소를 추가할 때는 .add 메소드를 사용한다.
my_set = {1,2,3}
my_set.add(4)
print(my_set) # 출력 : {1,2,3,4}
Set에 요소를 지울 때는 .remove 메소드를 사용한다.
my_set = {1,2,3}
my_set.remove(3)
print(my_set) # 출력 : {1,2}
Set에 어떠한 값이 이미 포함되어 있는지 알아볼때는 in, not in 키워드를 사용한다.
my_set = {1,2,3}
if 1 in my_set :
print("1 is in the set")
# 출력 : 1 is in the set
if 4 not in my_set :
print("4 is not in the set")
# 출력 : 4 is not in the set
Set을 이용해 교집합 (Intersection)과 합집합 (Union)을 구할 수 있다.
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
print(set1 & set2) # 출력 : {4,5,6}
print(set1.intersection(set2)) # 출력 : {4,5,6}
print(set1 | set2) # 출력 : {{1, 2, 3, 4, 5, 6, 7, 8, 9}
print(set1.union(set2)) # 출력 : {{1, 2, 3, 4, 5, 6, 7, 8, 9}
Dictionary는 key와 value로 구성되어 있다.
my_dict = {key1 : value1, key2 : value2}
bts_rm = { "실명" : "김남준", "가명" : "RM" }
Dictionary에서 새로운 요소를 추가할때
bts_rm["태어난 연도"] = 1991
print(bts_rm) # 출력 : {'실명': '김남준', '가명': 'RM', '태어난 연도': 1991}
주의
값이 동일한 key가 존재하면 새로 추가되는 요소가 그 전의 요소를 치환한다.
dict = {1 : "one", 2 : "two", 3 : "three"}
dict[1] = "new_one"
print(dict) # 출력 : {1 : "new_one", 2 : "two", 3 : "three}
Dictionary에서 기존의 요소를 삭제할때
del 키워드를 사용한다, key 값을 사용해준다
my_dict = { "one": 1, 2: "two", 3 : "three" }
del my_dict("one")
print(my_dict) # 출력 : {2 : "two", 3 : "three}
Dictionary의 key값만 반복 출력하기
bts_rm = {"실명" : "김남준", "가명" : "RM", "태어난 년도" : 1991}
for each_key in bts_rm :
print(f"key값 : {each_key}")
'''
출력
key값 : 실명
key값 : 가명
key값 : 태어난 년도
'''
Dictionary의 value값만 반복 출력하기
.values() 함수를 사용해준다.
bts_rm = {"실명" : "김남준", "가명" : "RM", "태어난 년도" : 1991}
for each_values in bts_rm.values() :
print(f"Value : {each_values}")
'''
출력
Value : 김남준
Value : RM
Value : 1991
'''
Dictionary의 key와 value값을 둘 다 출력하기
.items() 함수를 사용해주면 되는데, .itmes() 함수는 dictionary의 key와 value를 tuple로 return 해준다.
bts_rm = {"실명" : "김남준", "가명" : "RM", "태어난 년도" : 1991}
for each_key, each_value in bts_rm.items() :
print(f"{each_key} 는/은 {each_value}입니다.")
while 구문은 특정 조건문이 True일 경우에 코드블록을 반복 실행한다.
while 조건 :
# 실행할 코드 블록
파이썬의 while문은 else문이 추가될 수 있다.
while 조건 :
# 실행할 코드 블록
else :
# while문이 종료된 후 실행할 문장
ex)
number = 0
while number <= 10 :
print(number)
number = number + 1
else :
print(f"while문이 끝나고 난 후의 number : {number}")
'''
출력 :
0
1
2
3
4
5
6
7
8
9
10
while 문이 끝나고 난 후 의 number : 11
'''