데이터 구조
21027 단어 pythonprogrammingdsa
데이터는 처리를 위해 번역된 정보입니다.
데이터 구조는 상황에 따라 효율적인 액세스를 위해 데이터를 구성하는 기본적인 방법입니다.
데이터 구조의 유형
기울기
목록은 동일한 유형과 다른 유형의 요소를 저장할 수 있는 정렬된 데이터 모음입니다.
# how to create a list, using square brackets
list1 = [ ] #empty list
list2 =[1,2,3,4,5]
list3 =[1, 'e', 'g', 6.5, 8, 'i']
print(list2,list3)
#output [1, 2, 3, 4, 5] [1, 'e', 'g', 6.5, 8, 'i']
목록 요소는 할당된 인덱스에 의해 액세스됩니다. 인덱스는 '0'에서 시작하여 'N - 1'에서 끝납니다. 여기서 N은 요소의 총 개수입니다.
print(list3[2]) #goes to item at index 2 in list 3
#g
슬라이싱 목록
목록을 슬라이스하려면
:
연산자를 사용합니다. 목록을 슬라이스하기 위해 시작 인덱스가 포함되고 마지막 인덱스가 제외됩니다.# List slicing, syntax list[ Initial : End : IndexJump ]
my_list = ['d','a','t','a','s','t','r','u','c','t','u','r','e','s']
# elements from index 2 to index 5
print(my_list[2:5])#last item excluded
print(my_list[2:6])#last item included
# elements from index 4 to end
print(my_list[4:])
# elements beginning to end
print(my_list[:])
"""
output
['t', 'a', 's']
['t', 'a', 's', 't']
['s', 't', 'r', 'u', 'c', 't', 'u', 'r', 'e', 's']
['d', 'a', 't', 'a', 's', 't', 'r', 'u', 'c', 't', 'u', 'r', 'e', 's']
"""
목록의 요소는 변경될 수 있으므로 용어 목록은 변경 가능합니다.
항목을 변경하려면 할당 연산자
=
를 사용할 수 있습니다.nums1 = [2, 4, 6, 8]
# modifying the 1st item
nums1[0] = 1
print(nums1)
# change 2nd to 4th items
nums1[1:4] = [3, 5, 7]
print(nums1)
# output
# [1, 4, 6, 8]
# [1, 3, 5, 7]
목록에 값을 추가하려면 append() 메서드를 사용하고 여러 값에 대해서는 extend() 메서드를 사용합니다. 목록 연결은 두 개 이상의 목록이 함께 결합되는 경우입니다. 연결하려면
+
연산자를 사용하세요.# Appending and Extending lists in Python
nums = [1, 4, 5]
nums.append(8)
print(nums)
nums.extend([10, 11, 13])
print(nums)
nums.extend([20,15,14,16,18])
print(nums)
# output
# [1, 4, 5, 8]
# [1, 4, 5, 8, 10, 11, 13]
# [1, 4, 5, 8, 10, 11, 13, 20, 15, 14, 16, 18]
목록 이해
이는 기존 목록에서 새 목록을 만드는 간단한 방법입니다.
구문은
[expression for item in list]
입니다.#an example of list comprehension and if statement
nums2 = [ x for x in range(10) if x % 2 == 0]
print(nums2)
#[0, 2, 4, 6, 8]
목록을 반복하기 위해
for
문과 not in
문을 사용합니다. 다른 목록 속성을 찾을 수 있음here사전
사전은
key:value
쌍이 있는 모음입니다.사전을 만들려면
{}
, 중괄호를 사용하십시오. 요소에 액세스하려면 대괄호 안의 키[]
또는 get()
메서드를 사용합니다.#empty dict
shuri = {}
# get vs [] for retrieving elements
shuri = {'title': 'ray', 'number': 16}
# Output: ray
print(shuri['title'])
# Output: 16
print(shuri.get('number'))
사전에 항목을 추가하거나 변경하려면 대입 연산자를 사용하십시오
=
. 키가 있으면 값이 업데이트되고 키가 없으면 키와 값이 모두 추가됩니다.shuri = {'title': 'ray', 'number': 16}
#adding a value
shuri['color'] = 'purple'
print(shuri)
#update the value
shuri['title'] = 'sheldon'
print(shuri)
# output
# {'title': 'ray', 'number': 16, 'color': 'purple'}
# {'title': 'sheldon', 'number': 16, 'color': 'purple'}
pop()
메서드는 제공된 키를 사용하여 사전에서 항목을 제거하는 데 사용됩니다. popitem()
메서드는 key:value
쌍을 제거하고 반환합니다. 모든 항목을 제거하려면 clear()
메서드를 사용하고 전체 사전을 제거하려면 del
키워드를 사용합니다.shuri = {'title': 'ray', 'number': 16, 'street':'kes', 'pages':123}
#adding a value
shuri['color'] = 'purple'
print(shuri)
#update the value
shuri['title'] = 'sheldon'
print(shuri.pop('street'))
print(shuri)
print(shuri.popitem())
print(shuri)
#clear all the items
print(shuri.clear())
# delete the dictionary itself
del shuri
# output
# {'title': 'ray', 'number': 16, 'street': 'kes', 'pages': 123, 'color': 'purple'}
# kes
# {'title': 'sheldon', 'number': 16, 'pages': 123, 'color': 'purple'}
# ('color', 'purple')
# {'title': 'sheldon', 'number': 16, 'pages': 123}
# None
세트
세트는
set()
함수 또는 쉼표로 구분된 항목이 있는 {}
를 사용하여 생성됩니다. 세트에 항목을 추가하려면 add()
방법을 사용하고 여러 항목에 대해 update()
방법을 사용하십시오.세트는 중복을 저장하지 않습니다.
항목은
discard()
및 remove()
를 사용하여 제거할 수 있습니다.폐기와 제거의 주요 차이점은 요소가 세트에 없으면 제거가 오류를 발생시키고 폐기는 세트를 동일하게 유지한다는 것입니다.
#create a set
shuri = set()
#add value to the set
shuri.add(4)
print(shuri)
#update values to the set
shuri.update([5,5,6], [7,11,12])
print (shuri)
shuri.discard(7)
shuri.remove(4)
print(shuri)
#other way to create a set
sam = {1,5,6}
print(sam)
# output
# {4}
# {4, 5, 6, 7, 11, 12}
# {5, 6, 11, 12}
작업 설정
Union은
|
연산자를 사용하여 두 세트를 하나로 병합합니다.교차는 세트의 공통 항목입니다.
intersection()
함수 또는 &
연산자를 사용하여 두 가지 방법으로 수행할 수 있습니다.집합의 차이는 첫 번째 집합에는 있지만 두 번째 집합에는 없는 요소 집합이거나 그 반대의 경우입니다.
-
연산자를 사용합니다. 이는 difference()
방법을 사용하여 달성할 수도 있습니다.대칭적 차이는 첫 번째와 두 번째 세트의 요소 세트이지만 둘 다에는 없습니다.
^
연산자 또는 symmetric_difference()
메서드를 사용합니다.#create a set
shuri = set()
#add value to the set
shuri.add(4)
print(shuri)
#update values to the set
shuri.update([5,5,6], [7,11,12])
print (shuri)
shuri.discard(7)
shuri.remove(4)
print(shuri)
#other way to create a set
sam = {1,5,6}
print(sam)
#union
print(sam|shuri)
#intersection
print(sam & shuri)
print(sam.intersection(shuri))
#difference
print(sam-shuri)
print(shuri.difference(sam))
#symmetric difference
print(sam^shuri)
print(shuri.symmetric_difference(sam))
결론
다양한 데이터 구조와 이를 생성하고 조작하는 방법을 배웠기를 바랍니다.
이 리소스에서 더 읽어보기
Programiz
DSA, Geeks for Geeks
List comprehensions
Lambda functions
List slicing
Dictionaries
Set
Reference
이 문제에 관하여(데이터 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/veldakiara/data-structures-5386텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)