从Apriori中学到的基础知识和编程技巧
1.基础知识
Apriori的目标是寻找频率项集和关联规则,相应的评价指标是支持度和可信度
2.python3中已没有urllib2
urllib2已改为urllib.request,urllib2.HTTPError变为urllib.URLError,其它的基本一致。
在python3下安装votesmart的方法,参考https://www.cnblogs.com/nerd/p/10218703.html
3.list、dict和set
    d= {'a': 1, 'b': 2, 'b': '3'}  # 花括号,逗号分隔,其中必有冒号
    print(type(d))
    s={'a', 'b', 'b'}   # 花括号,逗号分隔
    print(type(s))
    l=['a', 'b', 'b']   # 中括号,逗号分隔
    print(type(l))
-----------------------------
结果:
<class 'dict'>
<class 'set'>
<class 'list'>
4、set和frozenset
frozenset是不可更改的,即没有了集合的基本操作,如:add(x),udpate(x) remove(x),discard(x), 与(&),或(|),差(-),异或(∧),代码:
    basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    print('{0}: {1}'.format('basket', basket))
    print('{0}: {1}'.format("'orange' in basket", 'orange' in basket))
    print('{0}: {1}'.format("'crabgrass' in basket", 'crabgrass' in basket))
    # 下面展示两个集合间的运算.
    a = set('abracadabra')
    b = set('alacazam')
    print('{0}: {1}'.format('a', a))
    print('{0}: {1}'.format('b', b))
    print('{0}: {1}'.format('a - b', a - b))
    print('{0}: {1}'.format('a | b', a | b))
    print('{0}: {1}'.format('a & b', a & b))
    print('{0}: {1}'.format('a ^ b', a ^ b))
----------------------------------------------------------
结果:
basket: {'orange', 'pear', 'banana', 'apple'}
'orange' in basket: True
'crabgrass' in basket: False
a: {'a', 'd', 'r', 'c', 'b'}
b: {'z', 'm', 'l', 'c', 'a'}
a - b: {'r', 'b', 'd'}
a | b: {'a', 'd', 'r', 'z', 'm', 'l', 'c', 'b'}
a & b: {'c', 'a'}
a ^ b: {'l', 'd', 'r', 'b', 'z', 'm'}
s.add(x):添加元素x
s.udpate(x):添加元素x,想可以是元素、列表、元组、字典
s.remove(x):将元素从集合s中移除,若没有元素会崩溃
s.discard(x):将元素从集合s中移除,不会崩溃
参考官方文档:https://docs.python.org/zh-cn/3.7/library/stdtypes.html#mapping-types-dict
python2中 字典可以使用s.has_keys(x),但是python3中不存在该函数,需要使用
x in s来表示,即 if not x in s: s[x] = 1,来初始化新的key,对应的值
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号