python学习(一)

注意:split是字符串操作的函数,列表没有该函数

python中,万物皆对象。python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。

python中,对象分为可变(mutable)和不可变(immutable)两种类型。

组(tuple)、数值型(number)、字符串(string)均为不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象。

1 >>>a = 1 #将名字a与内存中值为1的内存绑定在一起
2 >>>a = 2 #将名字a与内存中值为2的内存绑定在一起,而不是修改原来a绑定的内存中的值,这时,内存中值为1的内存地址引用计数-1,当引用计数为0时,内存地址被回收
3 >>>b = a #变量b执行与a绑定的内存
4 >>>b = 3 #创建一个内存值为3的内存地址与变量名字b进行绑定。这是a还是指向值为2的内存地址。
5 >>>a,b
6 >>>(2,3)

列表数据类型还有其它一些方法。下面是列表对象的所有方法:

  • insert(i, x) ---- 在指定位置插入一项。第一自变量是要在哪一个元素前面插入,用下标表示。例如,a.insert(0, x)在列表前面插入,a.insert(len(a), x)等价于a.append(x) 。
    append(x) ---- 等价于a.insert(len(a), x)
    index(x) ---- 在列表中查找值x然后返回第一个值为x的元素的下标。没有找到时出错。
    remove(x) ---- 从列表中删去第一个值为x的元素,找不到时出错。
    sort() ---- 对列表元素在原位排序。注意这个方法改变列表,而不是返回排序后的列表。
    reverse() ---- 把列表元素反序。改变列表。
    count(x) ---- 返回x在列表中出现的次数。

列表的翻转:

 1 #coding:utf-8
 2 #可以用于屏幕翻转。像素调整
 3 
 4 l1 = [[1,2,3,11],[4,5,6,12],[7,8,9,13],[23,24,15,0]]
 5 l2 = []
 6 
 7 col2 = []
 8 lengthx = len(l1)
 9 lengthy = len(l1[0])
10 for j in range(lengthy):
11     col2 = [i[j] for i in l1]
12     l2.append(col2)
13 print l2

像素调整(图片压缩)

 1 l1 = [[1,2,3,11],[4,5,6,12],[7,8,9,13],[23,24,15,0]]
 2 l3 = []
 3 y = len(l1[0])
 4 x = len(l1)
 5 for j in range(0, y-1, 2):
 6     col = []
 7     for i in range(0, x-1, 2):
 8         col.append(l1[j][i])    
 9         print col
10     l3.append(col)    
11 print l3

 求两个列表的交集

1 >>> l1 = [1,2,3,4]
2 >>> l2 = [4,5,6,7]
3 >>> set(l1) & set(l2)
4 set([4])
5 >>> list(set(l1) & set(l2))
6 [4]

 

posted @ 2013-06-16 15:11  bamb00  阅读(618)  评论(0编辑  收藏  举报