从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,对应的值

 

posted @ 2020-09-04 09:33  绍荣  阅读(188)  评论(0编辑  收藏  举报