데이터 구조

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

좋은 웹페이지 즐겨찾기