본문 바로가기

IT/Python

(12)
Class관련 def __init__(self, 매개변수1, 매개변수2,..) 파이썬에서 Class를 써서 객체 지향 프로그램을 만들 수 있다. 예시] |class Car: | weight = "" | color = "" 위처럼 만들어서 아래처럼 써도 되는데.. car_1 = Car()
Tuple관련과 개념 # Tuple(튜플인지 터플인지..)은 해외에서는 immutable이라고 한다. 즉 한번 선언하면 안에 있는 요소들을 바꿀수가 없다. 선언하는 것은 아래 예시 처럼 선언할 수가 있다. tuple의 선언하는 시간 복잡도는 O(1)이고 공간 복잡도는 O(n)이다. 예시] a = ('o', 'd', 'e', 's', 's', 'a') b = tuple("odessa") --> 이렇게 하면 하나 처럼 보이지만 사실 위의 a변수 처럼 쪼개서 나온다. # 만약 선언을 했다면 터플 집합에서 요소를 찾는 것은 리스트 처럼 tuple[인덱스_숫자]처럼 찾으면 된다. 예시] a[0] = 'o' a[1] = 'd' # 만약 tuple 안에 요소를 확인 하려면 in 을 사용해도 된다. 대신에 true 아니면 false 값이 ..
Dictionary Comprehension 기본 구조는 new_dict = {newKey:newValue for item in list} new2_dict = {newKey:newValue for (key, value) in dict.items() if condition} list comprehension과 다르게 dictionary는 {}형태를 써야 하고 2번째 dict.items()를 써야 한다. *참고 dictionary에서는 append 메서드가 없다
순열과 관련된 것 permutation - [1, 2, 3] = [3, 2, 1] 아니면 "abc" = "cab" 그냥 간단하게 파이썬 함수로 작성하면 아래 처럼 된다. def permut(arg1, arg2): if len(arg1) == 0 or len(arg2) == 0: return print("글자가 0이면 안됩니다.") elif(len(arg1) != len(arg2)): return print("글자나 숫자는 서로 길이가 동일해야 합니다.") else: listA = list(arg1) listB = list(arg2) listA.sort() listB.sort() if listA == listB: return True else: return False 다른 방법 def permut(arg1, arg2): if len(arg1) == 0 or len(arg2) == 0: return print("글자가 ..
딕셔너리의 오퍼레이션 여러 가지의 오퍼레이션이 있다. 오퍼레이션들: in, all(), any(), sorted() 예시] #in my_dict = {1:'a', 2:'b', 3:'c'} (2 in my_dict) ---> True 를 반환한다. in을 딕셔너리에 쓰면 Boolean값으로 키 값이 있나 확인 한다. ('a' in my_dict.values) ---> True를 반환한다. 여기서는 dict.values라서 즉 값이 있냐 확인 하는 거니까 True가 반환된다. #all() my_dict = {1:'a', 2:'b', 3:'c'} print(all(my_dict)) --> 여기서는 True로 반환된다. 키 값 중에 0이나 False 키가 없기 때문이다. 하나라도 0이나 False가 있다면 False로 반환된다. A..
배열이나 리스트에 중복값이 있으면 True로 변환 하는 코드풀이 def contains_duplicate(in_list): my_dict = {} for i in range(len(in_list)): my_dict[in_list[i]] = 0 for i in range(len(in_list)): my_dict[in_list[i]] = my_dict[in_list[i] +1 for key in my_dict: if my_dict[key] > 1: return true
파이썬의 리스트의 요소 두 개 합들의 짝들을 찾기 def pair_sum(arr, sum): result = [] for i in range(len(arr)): for j in range(i+1, len(arr)): if arr[i]+arr[j] == sum: result.append(f"{arr[i]}+{arr[j]}) return result
dictionary 메서드 #fromkeys() 메서드 -> 새로운 딕셔너리를 만들때 사용하며 키값들을 원하는 것으로 정할 수 있다. -> 구조 dictionary.fromkeys([키값들의 리스트], 옵션: 각 키값들의 값) 예시] my_dict = {'name':'Richard', 'age':34, 'city':'London'} new_dict = {}.fromkeys([1,2,3], 0) => 이러면 new_dict 에서는 {'1': 0, '2':0, '3':0} 이런 딕셔너리 형태가 만들어진다. #get() 메서드 -> 키값의 value값을 가지고 오는 메서드이다. -> 구조 dictionary.get('키값', 옵션: 왼쪽의 키값이 없으면 여기 지정된 값이 반환된다.) 예시] my_dict = dict(name='Marc..