2.5 Sets #Writing Idiomatic Python 3.1

oen·2022년 5월 30일
0

1. 수학적 set 연산자

  • Union
    - A | B
  • Intersection
    - A & B
  • Difference
    - A - B
  • Symmetric Difference
    - A ^ B

👎

popular_users = ['a', 'b']
active_users = ['b', 'c']
popular_and_active_users = []

for user in active_users:
    if user in popular_users:
        popular_and_active_users.append(user)
        
print(popular_and_active_users)
 
['b']

👍

print(set(['a', 'b']) & set(['b', 'c']))
{'b'}

2. set comprehension을 사용해서 간결하게 표현

👎

users_first_names = set()
users = [{'first_name': 'yein', 'last_name': 'lee'}, {'first_name': 'gildong', 'last_name': 'hong'}]
for user in users:
	users_first_names.add(user.get('first_name'))

print(users_first_names)
{'yein', 'gildong'}

👍

users_first_names = set()
users = [{'first_name': 'yein', 'last_name': 'lee'}, {'first_name': 'gildong', 'last_name': 'hong'}]

users_first_names = {user.get('first_name') for user in users}

print(users_first_names)
{'gildong', 'yein'}

3. 중복 없애기

👎

l = []
for user in ['a', 'b', 'b']:
    if user not in l:
        l.append(user)

print(l)
['a', 'b']

👍

l = (set(['a', 'b', 'b']))

print(l)
{'b', 'a'}
profile
🐾

0개의 댓글