enumerate函数,给打印的数据加上号码
In [9]: for i,v in enumerate(f.xreadlines()):print i,v
0 stu1101 mingjia.xu 275896019@qq.com 263 SystemAdmin 18810404260
1 stu1102 Yangjiansong jason@s156.com A8music SystemAdmin 13601247960
2 stu1103 zouxinkai zouxinkai_2006@126.com jishubu systemadmin 1861214111
集合:
将列表转换为集合用set()
ex:
a = range(10)
b = range (6)
a = set (a) ##转换为集合
b = set (b)
b.add('z') ##给b集合添加一个元素z
取差集:
a.difference(b) ##a里有,b里没有的数据
b.difference(a) ##b里有,a里没有的数据
对称差集:
a^b 或 b^a ##项在a里或者在b里,但不会同时存在ab中
Out[50]: {6, 7, 8, 9, 10, 'a', 'z'}
取交集:
a & b ##取a,b里都有的
取并集:
a | b ##取a,b并集
集合的方法:
a.add('x') ##在集合里添加一个元素x
a.update(b) ##在集合里添加b集合的元素,b可以为列表,可以为集合。
判断x是否为a的成员:
In [57]: 'x' in a ##x也可以为集合,但不可以为列表或者元组(一般用来判定单个元素)
Out[57]: False
In [58]: 'x' not in a ##x也可以为集合
Out[58]: True
In [13]: b.issubset(a) ##判断b时否每个元素都在a中 a>=b
Out[13]: True
In [22]: b.issuperset(a) ##判断b是否包含a的每个元素,b>=a
Out[22]: False
In [24]: a.union(c) ##并集
In [25]: a.intersection(c) ##交集
In [32]: c.symmetric_difference(a) ##c中和a中不重复的元素,和a^c一样
In [33]: c.copy() ##浅复制
zip 拉链函数 & map函数
In [1]: a = range(10)
In [2]: b = range(6)
In [4]: zip(a,b) ##将两个列表按位置一一对应,多余的不显示
Out[4]: [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5)]
In [12]: map(None,a,b) ##按两个列表按位置一一对应,多余的设定位与None对应
Out[12]:
[(0, 0),
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, None),
(7, None),
(8, None),
(9, None)]
迭代器:
形成一个迭代:
a = iter(range(10))
**In [89]: a.next() ##一个next显示一个数值
Out[89]: 0
In [90]: a.next()
Out[90]: 1
...
In [98]: a.next()
Out[98]: 9
In [99]: a.next()
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-99-f3a3911740c6> in <module>()
----> 1 a.next()
In [98]: a.next()
Out[98]: 9
In [99]: a.next()
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-99-f3a3911740c6> in <module>()
----> 1 a.next()
In [98]: a.next()
Out[98]: 9
In [99]: a.next()
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-99-f3a3911740c6> in <module>()
----> 1 a.next()
In [98]: a.next()
Out[98]: 9
In [99]: a.next()
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-99-f3a3911740c6> in <module>()
----> 1 a.next()
StopIteration:
##迭代完之后会报错