数组
几种常见的创建数据的方法如下:
print [0, 1, 2, 3];
print range(0, 4);
print range(4);
print range(0, 4, 2);
print [0+i for i in range(4)];
print [0] * 4;
可以根据下标访问数组,也可以返回数组的一个范围,需要注意的时候有些情况返回的是副本,在上面的操作不会保留到原数组:
list = range(10);
for i in list :
print i,
print ;
print list[0];
print list[-1];
print list[0:2];
print list[:];
print list[::2];
print list[2:];
print list[:2];
print list[::-1];
在初始化完成之后,需要向list中插入数据:
li = range(5);
li.append(5);
li.insert(6, 6);
li.extend([7, 8]);
print li;
删除操作更简单一些:li = range(5);
del li[0];
print li;
还有一些其他的用到的函数:
li = [2, 0, 2, 0, 0, 1];
print li.count(0);
print li.index(2);
li.pop();
li.sort();
li.reverse();
print li;
二维数组和一维数组类似:
li = [[0, 1], [2, 3]];
print li, li[0][1];
需要注意是list * N的方式是浅拷贝,如果执行赋值操作的话可能有一些诡异的现象。
集合
set有排除重复的作用,最基本的用法的是交集、并集和差集:
s1 = set([1, 2, 3]);
s2 = set([2, 3, 4]);
print s1 | s2;
print s1 & s2;
print s1 - s2;
print s2 - s1;
print s1 ^ s2;
另外可以对集合中的数据进行增加删除:
s = set([1, 2, 3]);
s.add(4);
s.update([5, 6, 7]);
s.remove(1);
最后,作为一个set,还有一个作用就是检查元素是不是在它里面:
s = set([1, 2, 3]);
print 1 in s;
print 0 not in s;
print set([1, 2]) <= s;
print set([1, 2]) < s;
print set([1, 2, 3, 4]) >= s;
print set([1, 2, 3, 4]) > s;
当然这些运算符都可以用对应的方法代替。
字典
字典的作用跟map很像,经常用到的方法如下:
m = {1:'a', 2:'a'};
m = {}.fromkeys((1, 2));
m = {}.fromkeys((1, 2, 3), 'a');
print m;
print m[1];
m[1] = 'b';
print m;
del m[1];
print m;
print m.pop(2);
print m;
print m.values();
print m.items();
print m.get(2); # compare with m[2];
print m.has_key(3);
-----------
END