https://colab.research.google.com/drive/1upv4rqZr5ExdKRbPFlw-P9Lrg7nYVoQf#scrollTo=G8r5LsRgjxCe

#실습문제 1

M = input("M =")
num_a=M.count('aaa')
num_b=M.count('bbb')
num_c=M.count('ccc')
num_d=M.count('ddd')
num_e=M.count('eee')

arr=[('aaa',num_a),('bbb',num_b),('ccc',num_c),('ddd',num_d),('eee',num_e)]

arr.sort( key=lambda x: x[1], reverse=True) # 인자에서 x[1] 즉 value 값을 기준으로, 내림차 순

for x in arr:
  if(x[1]!=0):
   print(x[0],x[1])

#이론문제 1

  1. 딕셔너리의 키에 리스트를 넣을 수 있다(x) (1점) => https://wikidocs.net/16 한 가지 주의해야 할 사항은 Key에 리스트는 쓸 수 없다는 것이다. 하지만 튜플은 Key로 쓸 수 있다.
 a = {[1,2] : 'hi'}

#output
# Traceback (most recent call last):
#  File "<stdin>", line 1, in <module>
# TypeError: unhashable type: 'list'

=> ❌ : 변수 n에 값을 복사한다. ⭕ : int형 객체 2에 변수 n이 참조한다.

  1. 파이썬에서 x=7 이라할때, 정수 리터럴 7의 식별번호와 x의 식별번호는 같다(x) https://velog.io/@binsu/Python-타-언어와-다른-파이썬의-변수 ⇒ 변수는 객체를 참조하는 객체에 연결된 이름에 불과하다. 모든 객체는 메모리를 차지하고, 자료형뿐만 아니라 식별 번호(identity)를 가진다.

리터럴(literal) : 값 자체, 문자 자체에 의해 값이 주어지는 문자열 ex) 숫자 리터럴 7은 7의 값을 가지고 문자 리터럴 CHAR는 CHAR의 값을 가짐.

  1. 딕셔너리도 리스트처럼 순서를 정해서 출력할 수 있다(o) (2점)
d1 = sorted(d.items) 
#or
d1 = sorted(d)
  1. 튜플은 리스트와 같이 순서가 있어서 인덱스로 접근이 가능하고, 최대값도 찾을 수 있습니다. 리스트와 큰 차이가 있는데, 그것은 변경불가능(immutable), 즉 값을 변경할 수 없다는 특성입니다. 하지만 순서는 바꿀 수 있습니다.(x) (2점) =>https://wikidocs.net/15  튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다. 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다. 리스트는 요소 값의 생성, 삭제, 수정이 가능하지만 튜플은 요소 값을 바꿀 수 없다. 튜플은 요솟값을 변경할수 없기 때문에 sort, insert, remove, pop과 같은 내장 함수가 없다.
  2. 파이썬에서 모든 객체는 메모리를 차지하고, 식별번호를 가진다. (o) (1점)
  3. for i in 'banana': print(i)를 하면 'banana'가 split되어 출력된다. (o) (1점)
  4. strip()으로 공백을 제거할 때, 개행문자('\n')는 공백으로 취급되어 제거된다. (o) (2점) => strip() 함수는 작동중인 문자열에서 후행 및 선행 개행을 모두 제거하는 데 사용됩니다.
  5. 딕셔너리에 items()를 실행하면 키와 값이 쌍을 이루는 '튜플(tuple)'이 저장된 ‘리스트’가 반환된다. (o) (2점) // 세모 =>https://wikidocs.net/96322
  6. test = ("가" "나" "다") test 변수는 튜플로 선언된다.(x) (2점)
  7. t[:]은 아무것도 출력이 안된다. (x) (1점)