일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 웹표준
- TweenMax.js
- jQuery
- 웹개발키워드
- 기초
- git
- 바닐라자바스크립트
- 마우스커서
- asp
- JSP
- 웹접근성
- sqld
- 바닐라 자바스크립트
- SQL
- Python
- 애니메이션
- CSS
- 텍스트조절
- JS
- sqld52회차
- 바닐라스크립트
- 팝업레이어
- SQLD후기
- IP차단
- VANILLA
- 로또 회차
- 코딩공부
- 프론트앤드키워드
- github
- Slide
- Today
- Total
단비의 코딩 공부 blog
[Python] study 3주차 본문
Python Tuple
튜플은 단일 변수에 여러 항목을 저장하는데 사용한다.
튜플은 순서가 지정되어 있고 변경할 수 없으며 중복값을 허용한다. 둥근 괄호를 사용한다.
thistuple = ("apple", "banana", "cherry")
print(thistuple)
출력 결과:
튜플에 포함된 항목 수를 확인하려면 len() 함수를 사용한다.
thistuple = tuple(("apple", "banana", "cherry"))
print(len(thistuple))
출력 결과:
항목이 하나만 있는 튜플을 만들기 위해서는 항목 뒤에 쉼표(,)를 추가해야한다.
thistuple = ("apple",)
print(type(thistuple))
#NOT a tuple
thistuple = ("apple")
print(type(thistuple))
출력 결과:
튜플은 모든 데이터 유형이 될 수 있다.
tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)
print(tuple1)
print(tuple2)
print(tuple3)
tuple1 = ("abc", 34, True, 40, "male")
print(tuple1)
출력 결과:
tuple() 생성자를 사용하여 튜플을 만드는것이 가능하다.
thistuple = tuple(("apple", "banana", "cherry"))
print(thistuple)
출력 결과:
Python Tuple - 엑세스
대괄호 안에 인덱스 번호를 참조하여 튜플 항목에 엑세스 할 수 있다. 음수 인덱싱은 끝부터 시작한다는 뜻이다.
thistuple = ("apple", "banana", "cherry")
print(thistuple[1])
thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])
출력 결과:
범위의 시작 위치와 끝 위치를 지정하여 인덱스 범위를 지정할 수 있다.
범위를 지정할 때 반환 값은 지정된 항목이 포함된 새 튜플이 된다.
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])
출력 결과:
시작 값을 생략하면 범위가 첫 번째 항목에서 시작된다. 종료값을 생략하면 범위는 튜플의 끝까지 이어진다.
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[:4])
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:])
출력 결과:
튜플의 끝부터 검색을 시작하려면 음수 인덱스를 지정한다
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])
출력 결과:
지정된 항목이 튜플에 있는지 확인하려면 in 키워드를 사용한다.
thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
print("Yes, 'apple' is in the fruits tuple")
출력 결과:
Python Tuple - 업데이트
튜플이 생성되면 해당 값을 변경할 수 없다.
그러나 방법이 있는데 튜플을 리스트로 변환하고, 리스트를 다시 튜플로 변경하는 방법이다.
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print(x)
출력 결과:
튜플은 불변이므로 내장 메서드가 없지만 튜플에 append() (맨 뒤에!!) 항목을 추가하는 방법이 있다.
1. 목록으로 변환 : 목록으로 변환하고 항목을 추가한 다음 다시 튜플로 변경한다.
2. 튜플에 튜플을 추가 : 튜플에 튜플을 추가하는 것이 허용되므로 하나의 항목(또는 여러 개)을 추가하려면 해당 항목으로 새 튜플을 만들고 기존 튜플에 추가한다.
#1
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
#2
thistuple = ("apple", "banana", "cherry")
y = ("orange",)
thistuple += y
print(thistuple)
출력 결과:
튜플은 변경할 수 없으므로 항목을 제거할 수는 없지만 튜플 항목을 변경하고 추가하는 데 사용한 것과 동일한 해결 방법을 사용할 수 있다.
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)
thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) #this will raise an error because the tuple no longer exists
출력 결과:
Python Tuple - 패킹 / 언패킹
튜플을 생성할 때 일반적으로 값을 할당하게 되는데, 이를 튜플 '패킹'이라고 한다.
그러나 파이썬에서는 값을 다시 변수로 추출할 수 있는데 이를 '언패킹'이라고 한다.
fruits = ("apple", "banana", "cherry")
(green, yellow, red) = fruits
print(green)
print(yellow)
print(red)
출력 결과:
변수 수가 값의 수보다 적은 경우 변수 이름에 *(asterisk)을 추가하면 값이 리스트로 변수에 할당된다.
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
# 나머지 값을 red라는 목록으로 할당
print(green)
print(yellow)
print(red)
출력 결과:
*가 마지막 변수 이름이 아닌 다른 변수 이름에 추가되면 파이썬은 남은 값 수가 남은 변수 수와 일치할 때까지 변수에 값을 할당한다.
fruits = ("apple", "mango", "papaya", "pineapple", "cherry")
(green, *tropic, red) = fruits
print(green)
print(tropic)
print(red)
출력 결과:
Python Tuple - loop
for 루프를 사용하여 튜플 항목을 반복할 수 있다.
thistuple = ("apple", "banana", "cherry")
for x in thistuple:
print(x)
출력 결과:
인덱스 번호를 참조하여 튜플 항목을 반복할 수 있다.
range() 및 len()함수를 사용하여 적절한 반복 가능 항목을 만든다.
thistuple = ("apple", "banana", "cherry")
for i in range(len(thistuple)):
print(thistuple[i])
출력 결과:
while루프를 사용하여 튜플 항목을 반복할 수 있다.
len() 함수를 사용하여 튜플의 길이를 결정한 다음 0에서 시작하여 해당 인덱스를 참조하여 튜플 항목을 반복한다.
thistuple = ("apple", "banana", "cherry")
i = 0
while i < len(thistuple):
print(thistuple[i])
i = i + 1
출력 결과:
Python Tuple - Join
두 개 이상의 튜플을 결합하려면 + 연산자를 사용한다.
튜플의 내용을 주어진 횟수만큼 곱하려면 * 연산자를 사용한다.
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)
fruits = ("apple", "banana", "cherry")
mytuple = fruits * 2
print(mytuple)
출력 결과:
Python Tuple - Methods
Method Description
count() | Returns the number of times a specified value occurs in a tuple |
index() | Searches the tuple for a specified value and returns the position of where it was found |
Python Sets
세트는 단일 변수에 여러항목을 저장하는 데 사용된다.
세트는 순서가 없고, 변경할 수 없으며, 색인이 생성되지 않은 컬렉션이다.
thisset = {"apple", "banana", "cherry"}
print(thisset)
출력 결과: 순서가 없으므로 랜덤으로 출력된다.
중복은 허용되지 않는다.
thisset = {"apple", "banana", "cherry", "apple"}
print(thisset)
출력 결과:
True와 1은 동일값으로 인정되며 중복항목으로 처리된다.
False와 0은 동일값으로 인정되며 중복항목으로 처리된다.
thisset = {"apple", "banana", "cherry", True, 1, 2}
print(thisset)
thisset = {"apple", "banana", "cherry", False, True, 0}
print(thisset)
출력 결과:
Python Sets - 엑세스
세트에서는 인덱스 키를 참조하여 엑세스할 수 없다.
그러나 for루프를 사용하여 세트 항목을 반복하거나 in 키워드를 사용하여 지정된 값이 세트에 있는지 알 수있다.
thisset = {"apple", "banana", "cherry"}
for x in thisset:
print(x)
thisset = {"apple", "banana", "cherry"}
print("banana" in thisset)
thisset = {"apple", "banana", "cherry"}
print("banana" not in thisset)
출력 결과:
Python Sets - 항목 추가
세트에 항목을 추가하려면 add() 메서드를 사용한다.
thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
print(thisset)
출력 결과:
다른 항목을 현재 세트에 추가 하려면 update() 메서드를 사용한다.
thisset = {"apple", "banana", "cherry"}
tropical = {"pineapple", "mango", "papaya"}
thisset.update(tropical)
print(thisset)
출력 결과:
반복 가능한 모든 개체를 추가할 수 있다.
thisset = {"apple", "banana", "cherry"}
mylist = ["kiwi", "orange"]
thisset.update(mylist)
print(thisset)
출력 결과:
Python Sets - 항목 제거
세트에서 항목을 제거하려면 remove() 또는 discard() 메서드를 사용한다.
remove()는 제거할 항목이 없으면 오류가 발생하고, discard() 메서드는 오류가 발생하지 않는다.
thisset = {"apple", "banana", "cherry"}
thisset.remove("banana")
print(thisset)
thisset = {"apple", "banana", "cherry"}
thisset.discard("banana")
print(thisset)
출력 결과:
pop() 메서드를 사용하여 임의의 항목을 제거할 수 있다.
thisset = {"apple", "banana", "cherry"}
x = thisset.pop()
print(x) #removed item
print(thisset) #the set after removal
출력 결과:
clear() 메서드는 세트를 비우고, del 키워드는 세트를 완전히 삭제한다.
thisset = {"apple", "banana", "cherry"}
thisset.clear()
print(thisset)
thisset = {"apple", "banana", "cherry"}
del thisset
print(thisset)
출력 결과:
Python Sets - loop
for 루프를 사용하여 설정항목을 반복할 수 있다.
thisset = {"apple", "banana", "cherry"}
for x in thisset:
print(x)
출력 결과:
Python Sets - Join
union() 메서드는 두 세트의 모든 항목이 포함된 새 세트를 반환한다.
union() 메서드 대신에 | 연산자를 사용해도 동일한 결과를 얻을 수 있다.
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
출력 결과: 랜덤
모든 결합 방법과 연산자를 사용하여 여러 세트를 결합할 수 있다.
쉼표로 구분하여 괄호 안에 더 많은 세트를 추가하면된다.
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
출력 결과: 랜덤
update() 메서드는 set2의 항목을 set1에 삽입한다.
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
출력 결과:랜덤
intersection() (교집합)메서드는 두 세트 모드에 존재하는 항목만 포함하는 새로운 세트를 반환한다.
intersection() 메서드 대신 &연산자를 사용해 동일한 결과를 얻을 수 있다.
연산자 & 를 사용하면 집합과 집합만 조인할 수 있으며, intersecton() 메서드에서 사용할 수 있는 다른 데이터 유형과는 조인할 수 없다.
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
출력 결과:
intersection_update()메서드는 중복된 항목만 유지하지만 새 세트를 반환하는 대신 원래 세트를 변경한다.
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
출력 결과:
difference()메서드는 다른 세트에는 없는 첫 번째 세트의 항목만 포함하는 새 세트를 반환한다.
- 연산자도 동일한 결과를 얻을 수 있다.
연산자 - 를 사용하면 집합과 집합만 조인할 수 있으며, difference() 메서드에서 사용할 수 있는 다른 데이터 유형과는 조인할 수 없다.
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
출력 결과:
symmetric_difference() 방법은 두 세트 모두에 존재하지 않는 요소만 유지한다.
^(exclusive or) 연산자도 동일한 결과를 얻을 수 있다.
연산자 ^ 를 사용하면 집합과 집합만 조인할 수 있으며, symmetric_difference() 메서드에서 사용할 수 있는 다른 데이터 유형과는 조인할 수 없다.
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
출력 결과:
symmetric_difference_update()메서드는 중복 항목을 제외한 모든 항목도 유지하지만 새 세트를 반환하는 대신 원래 세트를 변경한다.
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
출력 결과:
Python Sets - Methods
Method Shortcut Description
add() | Adds an element to the set | |
clear() | Removes all the elements from the set | |
copy() | Returns a copy of the set | |
difference() | - | Returns a set containing the difference between two or more sets |
difference_update() | -= | Removes the items in this set that are also included in another, specified set |
discard() | Remove the specified item | |
intersection() | & | Returns a set, that is the intersection of two other sets |
intersection_update() | &= | Removes the items in this set that are not present in other, specified set(s) |
isdisjoint() | Returns whether two sets have a intersection or not | |
issubset() | <= | Returns whether another set contains this set or not |
< | Returns whether all items in this set is present in other, specified set(s) | |
issuperset() | >= | Returns whether this set contains another set or not |
> | Returns whether all items in other, specified set(s) is present in this set | |
pop() | Removes an element from the set | |
remove() | Removes the specified element | |
symmetric_difference() | ^ | Returns a set with the symmetric differences of two sets |
symmetric_difference_update() | ^= | Inserts the symmetric differences from this set and another |
union() | | | Return a set containing the union of sets |
update() | |= | Update the set with the union of this set and others |
'Python' 카테고리의 다른 글
[Python] study 5주차 (1) | 2024.04.26 |
---|---|
[Python] study 4주차 (0) | 2024.04.17 |
[Python] study 2주차 (0) | 2024.04.05 |
[Python] study 1주차 (0) | 2024.04.04 |