3. python 데이터 구조 - 집합 (set)

3466 단어 python 기반
#   (set)
#   、   、        

#       , {    }
a_set = {1, 2, 'a', 'a', 2}
print('create a non-empty set:')
print(a_set)

#         {},{}  dict
a_set = set()
print('create a empty set:')
print(a_set)

#        
str_1 = 'dogs chase cats'
str_2 = 'dogs hate cats'

#              
str_1_words = set(str_1.split())
str_2_words = set(str_2.split())

#           
try:
    str_1_words[1]
except:
    print("Don't support index")  # Don't support index
try:
    str_1_words[1:]
except:
    print("Don't support slice")  # Don't support slice

#                
len_str_1_words = len(str_1_words)
len_str_2_words = len(str_2_words)
print(len_str_1_words, len_str_2_words)  # output:3 3

#     set   
print(str_1_words.intersection(str_2_words))  # output:{'dogs', 'cats'}
print(str_1_words & str_2_words)  # output:{'dogs', 'cats'}

#     set   
print(str_1_words.union(str_2_words))  # output:{'hate', 'dogs', 'chase', 'cats'}
print(str_1_words | str_2_words)  # output:{'hate', 'dogs', 'chase', 'cats'}

#     
print(str_1_words.difference(str_2_words))  # output:{'chase'}
print(str_1_words - str_2_words)  # output:{'chase'}

#       
print(str_1_words.symmetric_difference(str_2_words))  # output:{'hate', 'chase'}
print(str_1_words ^ str_2_words)  # output:{'hate', 'chase'}

# #      ( sklearn  )
# union_set = str_1_words.union(str_2_words)
# a = [1 if w in str_1_words else 0 for w in union_set]
# b = [1 if w in str_2_words else 0 for w in union_set]
#
# print(a) # output:[0, 1, 1, 1]
# print(b) # output:[1, 1, 0, 1]
#
# print(jaccard_similarity_score(a,b))

좋은 웹페이지 즐겨찾기