Python

Python 이론 복습 (indexing, container, list, map, method)

김디니 2022. 7. 31. 23:10

Indexing

리스트의 위치를 나타낸다. 

s[2:6:2]: 2부터 5까지 2씩 건너뛰어 값을 골라낸다 (slicing)

s[::]: 처음부터 끝까지 

s[::-1]: 처음부터 끝까지 역순으로

 

문자열을 다룰 때, 

문자열을 결합하고, 반복하고, 포함한 문자열을 탐색할 수 있다. 

'Hi' + 'Erin' # 결합
'Hi' * 3	  # 반복
'i' in 'Hi'	  # 포함한 문자열 탐색

 

Container

여러개의 값을 담는다. 

리스트는 값들의 나열이다. 그러므로 순서로 접근한다. (인덱싱)

Sequence

list, tuple, string, range

 

x in s, sum, max, min , etc. 

 

Non-Sequence

set, Dictionary

set은 중복이 없고 순서가 없기 때문에 Non-sequence이다. 

 

.split(): ()안에 있는 기호, 문자를 기준으로 나누어 출력한다. 

sep(): ()안에 있는 기호, 문자를 출력값 사이에 넣는다. 

 

조건문

While: 조건문이 명확할 때, (값이 '어떤' 상태일 동안, '어떤' 값이 될 때 까지 등 특정 조건이 존재할 때 사용한다)

 

for: 전부 다 반복할 때 사용한다. 

 

 

리스트; int로 바꾸기

nums = ['1', '2', '3']

a = int(nums) # int로 바뀔 수 없다

a = int(nums[0])
a = int(nums[1])
a = int(nums[2])
new_nums[a,b,c] # 굳이 바꾸자면 이렇게 바꿀 수 있다
# map 활용

new_nums = map(int, nums)

 

Sort() and Sorted()

# .sort()
a = [10, 1, 100]
a.sort()

sort()는 원본을 변경한다. 

None을 반환한다. 

 

# sorted()
new_list = sorted(a)

print(a, new_list)
>>>[10, 1, 100], [1, 10, 100]

sorted는 원본을 변경하지 않는다. 

원본을 변경하지 않는 sorted()를 선호하는 경우는 원본 값을 추후에 활용을 위할 때이다. 

 

find and index

  • find(): 찾고자 하는 값이 없다면 -1을 출력한다. (실행)
  • index(): 없으면 오류가 발생한다. 

오류를 발생하는 index()를 사용하는 것은 

오류를 알리기 위해 실행하고 있는 코드를 중단하고 에러를 알려주기 때문이다. 

상황에 따라서 끝까지 실행하는 find() 보다 즉각적으로 에러를 알려주는 것이 필요하다. 

 

remove and pop

  • .remove(x): 값이 x인 것을 삭제한다.
  • .pop(i): i 위치의 값을 삭제한다. i를 지정하지 않으면 맨 마지막 항목을 삭제한다. 

 

기타

  • .extend(): 추가
    • a.extend('banana'): 하나의 문자열을 쪼개서 출력한다. ('b', 'a', 'n'...)
  • insert(i, x): 정해진 값을 끼워 넣는다. 
    • i는 위치, x는 끼워넣을 데이터를 입력한다.
  • 딕셔너리는 Key로 접근하고, 리스트는 index로 접근한다.