Python之集合

创建
用集合的工厂方法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()])











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值