#--------------------------------------------------------
# 숙제 - 37
# 리스트 [44, 33, 22, 11]을 튜플로 변환하고, 55를 추가 시도해보아라.
# 안 된다면 그 이유는?
a= [44, 33, 22, 11]
b= tuple(a)
new_num=55
new_b=b+(new_num,)
print(new_b)
#--------------------------------------------------------
# 숙제 - 38
# 리스트 튜플 차이점은?
# 함수 호출 시 인자를 전달 할 때 함수에서 데이터를 수정하고 싶지 않을 때,
# 어떤 자료형을 쓰면 되나요?
리스트는 대괄호[] 를 사용하여 나타내고 요소의 변경이 가능하다.
튜플은 소괄호() 를 사용하여 나타내고 요소의 변경이 불가능하다.
데이터의 값을 고정하여 사용하고 싶을때는 튜플을 사용한다.
#--------------------------------------------------------
# 숙제 - 39
# 리스트, 튜플 중 메모리를 적게 쓰는 것은 무엇이고 그 이유는?
메모리를 적게쓰는것 튜플!
이유 : 튜플은 데이터형식이 불변성이기 때문에 데이터 처리속도나 메모리를 리스트에 비해 적게 쓴다
#--------------------------------------------------------
# 숙제 - 40
# 빈 딕셔너리에 키: name, 값, 본인 이름을 추가하고 출력
a_dict={'name' : '조준호'}
print (a_dict['name'])
#--------------------------------------------------------
# 숙제 - 41
# {'name': 'won', 'age': 1000} 에서 키 age의 값을 출력
a_dict={'name': 'won', 'age': 1000}
print(a_dict['age'])
#--------------------------------------------------------
# 숙제 - 42
{'apple': 111, 'banana': 222, 'cherry': 333} 에서 모든 키 출력
a={'apple': 111, 'banana': 222, 'cherry': 333}
keys = list(a.keys())
print(keys)
#--------------------------------------------------------
# 숙제 - 43
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 에서 모든 값 출력
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
print(a)
#--------------------------------------------------------
# 숙제 - 44
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 에서 값이 babo가 있다면 babo 출력
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
find_value = 'babo'
for key, value in a.items():
if value == find_value:
print(value)
#--------------------------------------------------------
# 숙제 - 45
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 에서 apple 삭제 후 출력
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
del a['apple']
print(a)
#--------------------------------------------------------
# 숙제 - 46
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 에서 banana의 값을 babooo로 수정
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
a['banana']='babooo'
print(a)
#--------------------------------------------------------
# 숙제 - 47
# {'a': 1, 'b': 2}와 {'c': 3, 'd': 4}를 합치시오,
a={'a': 1, 'b': 2}
b={'c': 3, 'd': 4}
a.update(b)
print(a)
#--------------------------------------------------------
# 숙제 - 48
# {'apple': 111, 'banana': 222, 'cherry': 'babo'}에서 모든 키와 모든 값을 순회하여 출력
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
for key,value in a.items():
print(key,value)
#--------------------------------------------------------
# 숙제 - 49
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 키 'cherry'의 '값'을 출력 하시오
# 없을 경우 None이라고 출력
a={'apple': 111, 'banana': 222, 'cherry': ''}
if 'cherry' in a:
print(a['cherry'])
if not a['cherry']:
print("None")
#--------------------------------------------------------
# 숙제 - 50
# {'apple': 111, 'banana': 222, 'cherry': 'babo'} 의 길이 출력
a={'apple': 111, 'banana': 222, 'cherry': 'babo'}
print(len(a))
#--------------------------------------------------------
# 숙제 - 51
# {'apple': 111, 'banana': '222', 'cherry': True} 값의 자료형 출력
a={'apple': 111, 'banana': '222', 'cherry': True}
print(type(a))
print(type(a['cherry']))
print(type(a['banana']))
print(type(a['apple']))
----------------------------------- 오늘 배운것
리스트의 특징
- 가변성 (Mutability):
- 리스트는 생성된 후에도 요소를 변경하거나 추가, 삭제할 수 있습니다. 즉, 리스트는 가변적입니다.
- 순서가 있음 (Ordered):
- 리스트는 요소가 순서대로 저장되며, 인덱스를 사용하여 요소에 접근할 수 있습니다.
- 중복 허용 (Allow Duplicate):
- 리스트 내에 중복된 요소를 포함할 수 있습니다.
- 사용법:
- 리스트는 대괄호 []를 사용하여 생성합니다.
- 리스트의 요소 변경:
- 리스트의 특정 요소를 변경할 수 있습니다.
- 리스트의 다양한 메서드:
- append(item): 리스트의 끝에 요소를 추가합니다.
- 예: my_list.append(4)는 [1, 2, 3, 4]로 만듭니다.
- extend(iterable): 리스트에 iterable(다른 리스트, 튜플 등)의 모든 요소를 추가합니다.
- 예: my_list.extend([5, 6])는 [1, 2, 3, 4, 5, 6]로 만듭니다.
- insert(index, item): 지정한 인덱스에 요소를 추가합니다.
- 예: my_list.insert(1, 10)은 [1, 10, 2, 3, 4]로 만듭니다.
- remove(item): 리스트에서 첫 번째로 나타나는 특정 요소를 제거합니다.
- 예: my_list.remove(2)는 [1, 10, 3, 4]로 만듭니다.
- pop(index): 지정한 인덱스의 요소를 제거하고 반환합니다. 인덱스를 지정하지 않으면 마지막 요소를 제거합니다.
- 예: my_list.pop(1)은 10을 제거하고 [1, 3, 4]를 만듭니다.
- clear(): 리스트의 모든 요소를 제거합니다.
- 예: my_list.clear()는 []로 만듭니다.
- index(item): 특정 요소의 인덱스를 반환합니다. 요소가 없으면 ValueError를 발생시킵니다.
- 예: my_list.index(3)은 1을 반환합니다.
- count(item): 특정 요소가 리스트에서 몇 번 나타나는지 반환합니다.
- 예: my_list.count(4)은 1을 반환합니다.
- sort(reverse=False): 리스트의 요소를 정렬합니다. reverse=True를 설정하면 내림차순으로 정렬합니다.
- 예: my_list.sort()는 [1, 2, 3, 4]로 만듭니다.
- reverse(): 리스트의 요소 순서를 반전시킵니다.
- 예: my_list.reverse()는 [4, 3, 2, 1]로 만듭니다.
- copy(): 리스트의 얕은 복사본을 반환합니다.
- 예: my_list.copy()는 [1, 2, 3]를 반환합니다.
- append(item): 리스트의 끝에 요소를 추가합니다.
- 중첩 리스트 (Nested Lists):
- 리스트 안에 또 다른 리스트를 포함할 수 있습니다.
- 예: nested_list = [[1, 2], [3, 4], [5, 6]]
리스트는 다양한 상황에서 유용하게 사용되며, 특히 데이터를 순서대로 저장하고 조작할 때 많이 사용됩니다.
튜플의 특징
- 불변성 (Immutability):
- 튜플은 한 번 생성되면 수정할 수 없습니다. 리스트와 달리 튜플의 요소를 변경하거나 추가하는 것이 불가능합니다.
- 순서가 있음 (Ordered):
- 튜플은 요소가 순서대로 저장되며, 인덱스를 사용해 접근할 수 있습니다.
- 중복 허용 (Allow Duplicate):
- 튜플 내에 중복된 요소를 포함할 수 있습니다.
- 사용법:
- 튜플은 소괄호 ()를 사용하여 생성합니다.
- 예: my_tuple = (1, 2, 3)
- 인덱싱 및 슬라이싱:
- 튜플의 요소에 접근할 때 인덱스를 사용할 수 있습니다.
- 예: my_tuple[0]는 1을 반환합니다.
- 슬라이싱도 가능합니다. 예: my_tuple[1:3]은 (2, 3)을 반환합니다.
- 튜플의 요소를 변경할 수 없음:
- 튜플 내의 개별 요소는 변경할 수 없지만, 전체 튜플을 새로운 튜플로 교체할 수는 있습니다.
- 다양한 데이터 유형 허용:
- 튜플은 서로 다른 데이터 유형을 포함할 수 있습니다. 예: mixed_tuple = (1, "hello", 3.14)
- 튜플을 이용한 함수 반환:
- 여러 값을 반환할 때 튜플을 사용하는 것이 일반적입니다.
튜플의 주요 메서드
- count(value): 튜플 내에서 특정 값이 몇 번 나타나는지 반환합니다.
- 예: (1, 2, 2, 3).count(2)는 2를 반환합니다.
- index(value): 특정 값이 튜플에서 처음으로 나타나는 인덱스를 반환합니다. 값이 없으면 ValueError를 발생시킵니다.
- 예: (1, 2, 3).index(2)는 1을 반환합니다.
튜플은 불변성을 가진 데이터 구조가 필요할 때 유용하며, 딕셔너리의 키로 사용될 수 있는 등 다양한 상황에서 사용됩니다.
'Daily note' 카테고리의 다른 글
Today I Learned(TIL)-31 (0) | 2024.08.05 |
---|---|
Today I Learned(TIL)-30 (0) | 2024.08.02 |
Today I Learned(TIL)-28 (0) | 2024.07.31 |
Today I Learned(TIL)-27 (0) | 2024.07.30 |
Today I Learned(TIL)-26 (0) | 2024.07.29 |