python序列函数 python 序列函数( 三 )


输出如下:
set(['wong', 'cnblogs', 'jeff'])
3、集合常用方法
a、并集union
输出:
set([1, 2, 3])
set([2, 3, 4])
set([1, 2, 3, 4])
union操作返回两个集合的并集,不改变原有集合 。使用按位与(OR)运算符“|”可以得到一样的结果:
输出和上面union操作一模一样的结果 。
其他常见操作包括(交集),=,=,-,copy()等等,这里不再列举 。
输出如下:
set([1, 2, 3])
set([2, 3, 4])
set([2, 3])
True
set([1, 2, 3])
False
b、add和remove
和序列添加和移除的方法非常类似 , 可参考官方文档:
输出:
set([1])
set([1, 2])
set([1])
set([1])
False
Traceback (most recent call last):
File "F:\Python\test.py", line 9, in
set1.remove(29) #移除不存在的项
KeyError: 29
4、frozenset
集合是可变的 , 所以不能用做字典的键 。集合本身只能包含不可变值 , 所以也就不能包含其他集合:
输出如下:
Traceback (most recent call last):
File "F:\Python\test.py", line 3, in
set1.add(set2)
TypeError: unhashable type: 'set'
可以使用frozenset类型用于代表不可变(可散列)的集合:
输出:
set([1, frozenset([2])])
python常用序列结构序列是python的基本数据结构,序列中的每个元素被分配一个序号即索引,索引从0开始 。
序列的两种常用类型:列表和元组 。
列表与元组的区别:列表可修改,元组不能修改 。
通用序列操作
1、索引:索引0指向第一个元素,索引-1指向最后一个元素 。
2、程序:输入年 , 月(1-12) , 日(1-31),然后打印出相应的日期的月份名称 。
代码详解:months=[]:定义一个months序列 。
endings=['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']:定义一个endings序列,用来表示1-31的英文缩写,1st,2nd,3rd,4-20th , 21st , 22nd,23rd , 24-30th,31st 。
代码运行输出结果:
3、分片:提取序列中的某个范围内的元素 。
分片tag[9:30]:第一个索引号9是包含在分片内的,第二个索引号30则不包含在分片内 。
4、如果要去序列中最后一个最后一个元素怎么办?
可以通过置空,最后一个一个索引来获取最后的元素 。可以通过置空最前的索引来获取第一个元素 。可以两边都置空来获取整个元素 。
5、步长:
正数步长:从序列的头部开始向右提取元素,直到最后一个元素 。
负数步长:从序列的尾部开始向左提取元素,直到第一个元素 。
6、序列运算
序列相加:对序列进行连接操作,列表与字符串是无法连接在一起的 。
序列相乘:数字x乘以一个序列会生成新的序列,即原来的序列被重复x次 。
None,空列表和初始化:初始化一个长度为10的列表 。
代码分析:在屏幕上打印一个由字符组成的盒子 , 这个盒子在屏幕上居中,而且根据用户输入的句子自动调整大小 。
成员资格:in运算符,输入布尔运算符,当条件为真时返回true,为假则返回false 。
以上代码在UNIX系统中,可以检查文件可写和可执行权限的脚本 。
以上代码可以检查输入的用户名是否存在于用户列表中 。
以上代码可以作为过滤垃圾邮件的一部分 。
代码分析:查看用户输入的用户名 , 密码是否存在于数据库中,如果存在则打印'Access granted'
程序运行结果:
内建函数:len:返回序列中包含元素的数量,min:返回序列中最小的元素,max:返回序列中最大的元素 。

推荐阅读