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