zoukankan      html  css  js  c++  java
  • 3.python数据结构-集合(set)

    # 集合(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))
  • 相关阅读:
    Matlab之快速傅里叶变换
    关于Debug和Release的区别 (VS C#)
    QSqlQuery::value: not positioned on a valid record
    UML系列图--用例图
    SQLite 数据类型总结
    c++构造函数
    求Fibonacci数列通项公式
    ObjectMapper类
    命令行运行jar 提示找不到主程序解决方案
    httpclient框架实现接口自动化的思路(二)
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256161.html
Copyright © 2011-2022 走看看