IT/Python3

파이썬 자료구조 정리 (리스트,튜플,딕셔너리,집합)

어센트 2021. 12. 10. 14:50

Python Array [::] 사용법

[Tip] Python Array[::] 사용법

 

[Tip] Python Array[::] 사용법

Python array[::] 용법 간단한 파이썬 팁입니다. arr[::], arr[1:2:3], arr[::-1] 등으로 배열의 index에 접근하는 방법을 Extended Slices 라고 부릅니다. 설명 arr[A:B:C]의 의미는, index A 부터 index B 까지..

blog.wonkyunglee.io

리스트

#리스트
s1 = 10
s2 = 20
s3 = 30

subway = [10,20,30]
print(subway)

subway = ["유재석","조세호","박명수"]
print(subway)
print(subway.index("조세호"))

#하하 추가
subway.append("하하")
print(subway)

#정형돈을 유재석 조세호 사이에 넣어라
subway.insert(1,"정형돈")
print(subway)

#지하철에 있는 사람을 한명씩 뒤에서 꺼냄
print(subway.pop())
print(subway)

#같은 이름의 사람이 몇명있는지 확인하기
subway.append("유재석")
print(subway)
print(subway.count("유재석"))

#정렬도 가능
num_list = [4,2,1,3,-1]
num_list.sort()

lst = ["12","2333","1111","123","987","9"]
lst.sort(key=len) #문자열 길이에 따라 정렬

#이차원 배열 0으로 할당하는법
vis = [ [0 for i in range(len(A[0]))] for j in range(len(A)) ]

print(num_list)
#순서 뒤집기
num_list.reverse()
print(num_list)

#모두 지우기
num_list.clear()
print(num_list)

#자료형 관계없이 가능
num_list = [4,1,3,1,4]
mix_list = ["조세호",20,True]
print(mix_list)

#리스트 확장 리스트끼리 합치는 것도 가능
num_list.extend(mix_list)
print(num_list)

튜플

# 내용변경이나 추가를 못하는데 속도가 리스트보다 빠르다
menu = ("돈까스","치즈가스")
print(menu[0])
print(menu[1])

#menu.add("ss") 추가 불가능

# name = "김종국"
# age = 20
# hobby = "코딩"
# print(name,age,hobby)
# 튜플을 이용하면 더 간단하게 표현 가능
name , age, hobby = "김종국", 20,"코딩"
print(name,age,hobby)

딕셔너리

cabinet ={3:"유재석",100:"김태호"}
print(cabinet[3])
print(cabinet[100])

print(cabinet.get(3))
print(cabinet.get(5)) #없는 키를 넣으면  get은 None 대괄호는 오류 발생

#None 말고 디폴트 값을 주려면
print(cabinet.get(5,'사용가능'))
print(3 in cabinet) #True
print(5 in cabinet) #False

cabinet ={"A-3":"유재석","B-30":"김태호"}
print(cabinet["A-3"])
print(cabinet.get("B-30"))
# 새 멤버 추가
print(cabinet)
cabinet["C-20"] = "조세호"
cabinet["A-3"] = "김종국"
print(cabinet)

del cabinet["A-3"] #키 삭제 가능
print(cabinet)

#key들 만 출력
print(cabinet.keys())
#value만 출력
print(cabinet.values())
# key-value 쌍 출력
print(cabinet.items())

#초기화
cabinet.clear();
print(cabinet);

집합

#Set
#중복안되고 순서가 없다

my_set ={1,2,3,3,3}
print(my_set)

java = {"유재석","김태호","양세형"}
python = set(["유재석","박명수"]) #set으로 감싸줌

# 교집합 출력 즉 자바와 파이썬 둘다 가능한 사람
print(java & python)
print(java.intersection(python))

# 합집합

print(java | python)
print(java.union(python))

#차집합 자바는 할줄 알지만 파이썬을 할 줄 모르는 개발자
print(java - python)
print(java.difference(python))

#python 할 줄 아는 사람 늘어남
python.add("김태호")
print(python)

java.remove("김태호")
print(java)