创建
用集合的工厂方法set()和frozenset()
更新集合
集合类型内建方法
s.issubset(t):s是t的子集,返回True,否则返回Fals e
s.union(t):返回一个新集合,该集合是s和t的交集
s.intersection(t):返回一个s和t并集的新集合
s.difference(t):返回一个新集合,该集合是s的成员,但不是t的成员
s.symmetric_difference(t):返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
(以下仅适用于可变集合)
s.update(t):用t中元素修改s
s.intersection_update(t):s中的成员共同属于s和t
s.add(obj):向集合s中添加对象
s.remove(obj):从集合s中删除对象
s.pop():删除集合s中的任意一个对象,并返回它
计算文件单词个数
快速计算文件大小
计算非空字符数
用集合的工厂方法set()和frozenset()
>>> s = set('cheeseshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t = frozenset('bookshop')
>>> t
frozenset(['b', 'h', 'k', 'o', 'p', 's'])
>>> len(s) == len(t)
True
>>> s == t
False
更新集合
<pre name="code" class="python">>>> s.add('z')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
>>> s.update('pypi')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z'])
>>> s.remove('z')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y'])
>>> s -= set('pypi')
>>> s
set(['c', 'e', 'h', 'o', 's'])
>>> t .add('z') #只有可变集合能被修改
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
t .add('z') #只有可变集合能被修改
AttributeError: 'frozenset' object has no attribute 'add'
集合类型内建方法
s.issubset(t):s是t的子集,返回True,否则返回Fals e
s.union(t):返回一个新集合,该集合是s和t的交集
s.intersection(t):返回一个s和t并集的新集合
s.difference(t):返回一个新集合,该集合是s的成员,但不是t的成员
s.symmetric_difference(t):返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
(以下仅适用于可变集合)
s.update(t):用t中元素修改s
s.intersection_update(t):s中的成员共同属于s和t
s.add(obj):向集合s中添加对象
s.remove(obj):从集合s中删除对象
s.pop():删除集合s中的任意一个对象,并返回它
计算文件单词个数
f = open('xxx.xx','r')
len([word for line in f for word in line.split()])
快速计算文件大小
import os
os.stat('xxx.xx').st_size
计算非空字符数
f.seek(0)
sum([len(word) for line in f for word in line.split()])