Python

[Python / 기초] 파이썬 세트메소드 - add, update, remove, pop, map, filter, zip

씨주 2024. 1. 12. 12:19

📍 Method(메소드)

 

✅ 세트 Method

✔️ add

fruits = {'apple', 'banana', 'melon'}

# 요소 추가
fruits.add('watermelon')
print(fruits) # {'banana', 'watermelon', 'melon', 'apple'}
# 중복된 값은 추가되지 않음
fruits.add('watermelon')
print(fruits) # {'banana', 'watermelon', 'melon', 'apple'}

✔️ update

fruits = {'apple', 'banana', 'melon'}

# add는 하나의 정보, update는 여러 개의 정보를 추가할 때 사용
fruits.update('grape') # 글자 하나하나가 들어감
print(fruits) # {'melon', 'g', 'e', 'p', 'apple', 'a', 'banana', 'r'}
fruits = {'apple', 'banana', 'melon'}
fruits.update({'grape', 'orange'})
print(fruits) # {'apple', 'orange', 'melon', 'grape', 'banana'}

✔️ remove

# 요소 제거
fruits.remove('orange')
print(fruits) # {'apple', 'melon', 'grape', 'banana'}

✔️ pop

# 요소 랜덤 제거
fruits.pop()
print(fruits) # {'grape', 'apple', 'banana'}

✔️ map

: map(function, iterable)

# 반복가능한 객체를 받아 함수 적용
a = [1, 2, 3]
number_str = map(str, a)
print(number_str) # <map object at 0x10430c8e0>
print(list(number_str)) # ['1', '2', '3']
def cube(x):
    return x ** 3

result2 = map(cube, a)
print(list(result2)) # [1, 8, 27]

# 위의 식과 동일
result = []
for i in a:
    result.append(i ** 3)

print(result) # [1, 8, 27]
a = '1 3 5 7 9'
numbers = list(map(int, a.split()))
print(numbers) # [1, 3, 5, 7, 9]

✔️ filter

filter(function, iterable)

  filter에 들어가는 function은 T/F를 반환해야 함

numbers = [1, 2, 3, 4, 5]
def is_odd(x):
    return bool(x % 2)
    
result2 = filter(is_odd, numbers)
print(list(result2)) # [1, 3, 5]

# 위의 식과 동일
result = []
for number in numbers:
    if is_odd(number):
        result.append(number)

print(result) # [1, 3, 5]

✔️ zip

a = [1, 2, 3]
b = [100, 200, 300, 400]

# Tuple(list1요소, list2요소)로 변환
result = zip(a, b)
# 두 list의 갯수가 다를 때 갯수가 적은 list 기준
print(result) # <zip object at 0x104312280>
print(list(result)) # [(1, 100), (2, 200), (3, 300)]