array

 1 #coding utf-8
 2 
 3 __author__ = 'thinkpad'
 4 
 5 numbers=[1,2,3,4,5,6,7,8,9,10]
 6 print(numbers)
 7 print len(numbers)
 8 #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 9 
10 print numbers[1:10:2]
11 #[2, 4, 6, 8, 10]
12 
13 
14 print numbers[2:6]
15 #[3, 4, 5, 6]
16 
17 print numbers[10:2:-2]
18 #[10, 8, 6, 4]
19 
20 #倒序的三种方式
21 (numbers.reverse())
22 print numbers
23 
24 print numbers[::-1]
25 #[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
26 
27 
28 print  list(reversed(numbers))
29 
30 print 'done'

 

 1 列表切割赋值
 2 
 3 >>> a = [1, 2, 3, 4, 5]
 4 >>> a[2:3] = [0, 0]
 5 >>> a
 6 [1, 2, 0, 0, 4, 5]
 7 >>> a[1:1] = [8, 9]
 8 >>> a
 9 [1, 8, 9, 2, 0, 0, 4, 5]
10 >>> a[1:-1] = []
11 >>> a
12 [1, 5]

 

用压缩器反转字典
>>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> m.items()
[('a', 1), ('c', 3), ('b', 2), ('d', 4)]
>>> zip(m.values(), m.keys())
[(1, 'a'), (3, 'c'), (2, 'b'), (4, 'd')]
>>> mi = dict(zip(m.values(), m.keys()))
>>> mi
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

 生成器表达式 
>>> g = (x ** 2 for x in xrange(10))
>>> next(g)
0
>>> next(g)
1
>>> next(g)
4
>>> next(g)
9
>>> sum(x ** 3 for x in xrange(10))
2025
>>> sum(x ** 3 for x in xrange(10) if x % 3 == 1)
408



用字典推导反转字典 

>>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> m
{'d': 4, 'a': 1, 'b': 2, 'c': 3}
>>> {v: k for k, v in m.items()}
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

操作集合 

>>> A = {1, 2, 3, 3}
>>> A
set([1, 2, 3])
>>> B = {3, 4, 5, 6, 7}
>>> B
set([3, 4, 5, 6, 7])
>>> A | B
set([1, 2, 3, 4, 5, 6, 7])
>>> A & B
set([3])
>>> A - B
set([1, 2])
>>> B - A
set([4, 5, 6, 7])
>>> A ^ B
set([1, 2, 4, 5, 6, 7])
>>> (A ^ B) == ((A - B) | (B - A))
True

 

posted @ 2013-12-11 14:13  zhangxiaodel  阅读(192)  评论(0编辑  收藏  举报