接下来以几篇的博文来复习一下Python的基础知识:
一Python的基本数据类型:
1.数字型:整型int、长整型、布尔型bool、浮点数float、复数complex.注意,Python中创建一个新整型变量和给变量赋值是相同的过程,a=-123,b=13都完成了对变量的定义和赋值
2.字符串:在Python中以”“或者”来表示字符串,其中字符串的内容只包含引号中的字符。注意字符串和数字类型都是不可变的类型,之间的转化操作为:
#字符串转化成数字(注意字符串必须使由数字组成的,否则无法转化)
a=123
b='222'
c=123+int(b)
print c
#数字转化成字符串
a=123
b='123'
c=b+str(a)
print c
这里注意python int和字符串是不可变数据类型,这里的int( )和str( )方法只引用了原变量对应的数据,而并不是把原变量的类型修改了,所以所得结果一定要重新赋值之后才能被引用。
r”….”表示将字符串以原声字符串对待,不将\视为转移字符串二完全的输出原字符串
3.布尔值:Python中的布尔值以True和False来表示。布尔值以and,or,not来连接运算。and相当于&&,or相当于||,not相当于!
4.空值:None表示空值
二:print输出语句中,逗号,是表示空格
三:Python中的内置数据类型,有序集合list(列表),['a','b','c']
。
1.list类似于Java中的集合,但是python是动态语言,list中的数据类型可以完全不一致['abc',123,35.6]
。空列表:empty_list=[]
2.list中的元素是有索引的,索引从0开始,注意索引不能越界:
>>> a=['zhangsan','lisi',30]
>>> print a[0]
zhangsan
>>> print a[1]
lisi
>>> print a[2]
30
当然关于list的元素的选取也可以用负数索引,负数索引从-1开始,-1表示最后一个元素:
>>> a=['zhangsan','lisi',30]
>>> print a[-1]
30
>>> print a[-2]
lisi
>>> print a[-3]
zhangsan
对于list中的元素的修改,a[-1]='wangshu'
当然,对于python中列表的每一个元素也能获得他的索引:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L.index('Adam')
0
3.list中元素的追加,
>>> a=['a','b','c']
>>> a.append('d')
>>> a
['a', 'b', 'c', 'd']
在指定的索引上添加
>>> a=['a','b','c']
>>> a.insert(0,'d')
>>> a
['d', 'a', 'b', 'c']
4.删除列表的最后一个元素并且返回这个元素:
>>> a=['a','b','c']
>>> a.pop()
'c'
>>> a
['a', 'b']
删除指定索引的元素并且返回这个元素:
>>> a=['a','b','c']
>>> a.pop(1)
'b'
>>> a
['a', 'c']
注意del函数可以指定删除某一元素但是不返回当前删除的元素:
>>> a=['a','b','c']
>>> del a[1]
>>> a
['a', 'c']
5.切片操作:将指定范围中的元素输出,
#下面说明,a[0:3]表示从列表a中的索引0开始取到索引3(注意不包含索引3)之内的元素
>>> a=['a','b','c']
>>> a[0:3]
['a', 'b', 'c']
#当然需要从头开始选取元素的时候可以不指定第一个索引,
>>> a[:3]
['a', 'b', 'c']
#只有一个:表示取所有的元素
>>> a[:]
['a', 'b', 'c']
注意,上面的切片操作仅仅指明了两个参数的切片,切面操作还有第三个参数表示步长。
#下面表示从第一个元素开始截取,每两个截取一次(每隔一个截取下一个)
>>> a[::2]
['a', 'c']
总结:
>>> a=range(1,101)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
>>> #首先截取前10个数
...
>>> a[:10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> #截取关于3倍数
...
>>> a[2::3]
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
>>> #截取不大于50的5的倍数
...
>>> a[4:50:5]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
关于负数的切片,就是从最后一个元素开始往前遍历:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L[-2:]
['Bart', 'Paul']
#应该注意一点,在反向遍历的时候,切片的操作仍然是从小的索引到大的索引(仍然是正向的遍历)
>>> L[-4:-1]
['Adam', 'Lisa', 'Bart']
6.list遍历:
>>> colors=['red','green','blue']
>>> for color in colors:
... print color
...
red
green
blue
>>> #遍历列表的同时取得索引
...
>>> for i,color in enumerate(colors):
... print i,color
...
0 red
1 green
2 blue
7.python的脚本操作:
>>> #得到列表的长度
...
>>> len([1,2,3])
3
>>> #组合两个列表
...
>>> a=[1,2,3]+[4,5,6]
>>>
>>> print a
[1, 2, 3, 4, 5, 6]
>>> #重复
...
>>> a=['Hello World!']*6
>>> print a
['Hello World!', 'Hello World!', 'Hello World!', 'Hello World!', 'Hello World!', 'Hello World!']
>>> #判断元素是否存在于一个列表中
...
>>> 3 in [1,2,3]
True
8.list的常用函数
1、max(list):返回列表元素最大值
2、min(list):返回列表元素最小值
3、list(seq):将元组转换为列表
4、list.count(obj):统计某个元素在列表中出现的次数
5、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
6、list.remove(obj):移除列表中某个值的第一个匹配项
7、list.reverse():反向列表中元素
8、list.sort([func]):对原列表进行排序
至于列表的排序方法,参见
http://blog.csdn.net/james_shu/article/details/53350342
9.Python的列表生成式:
#列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]
>>> print [x*(x+1) for x in range(1,100)]
[2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342, 380, 420, 462, 506, 552, 600, 650, 702, 756, 812, 870, 930, 992, 1056, 1122, 1190, 1260, 1332, 1406, 1482, 1560, 1640, 1722, 1806, 1892, 1980, 2070, 2162, 2256, 2352, 2450, 2550, 2652, 2756, 2862, 2970, 3080, 3192, 3306, 3422, 3540, 3660, 3782, 3906, 4032, 4160, 4290, 4422, 4556, 4692, 4830, 4970, 5112, 5256, 5402, 5550, 5700, 5852, 6006, 6162, 6320, 6480, 6642, 6806, 6972, 7140, 7310, 7482, 7656, 7832, 8010, 8190, 8372, 8556, 8742, 8930, 9120, 9312, 9506, 9702, 9900]