Python菜鸟学习第三课

来源:互联网 发布:123域名卖了多少钱 编辑:程序博客网 时间:2024/05/11 20:07

目录:

1.序列分类

2.通用序列操作

 

1.序列分类

   在Python中,最基本的数据结构是序列,序列中的每个元素被分配一个编号---元素的位置,也叫索引,第二个是0,第二个是1,最后一个是-1,倒数第二个是-2

   Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象

   列表和元组的主要区别是,列表可以修改,元组则不能。

   列表的各个元素通过逗号分隔,写在方括号中,如下:

>>>edward = ['Edward Gumby',42]

   序列中也可含有其他序列,如下:

>>>edward=['Edward Gumby',42]

>>>john = ['John Smith',50]

>>>database = [edward,john]

>>>database

[['Edward Gumby',42],['John Smith',50]]

扩展:序列(列表和元组)和映射(字典)是两类主要的容器,集合既不是序列也不是映射的容器类型

 

2.通用序列操作

索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员(成员资格),

Python还有计算序列长度、找出最大元素和最小元素的内建函数

迭代:对序列进行迭代,就是依次对序列中的每个元素重复执行某些操作。

索引

>>>greeting = 'hello'

>>>greeting[0]

'h'

>>>greeting[-1]

'o'

字符串字面值可以直接使用索引:

>>>'hello'[1]

'e'

如果一个函数调用返回一个序列,可以直接对返回结果进行索引操作

>>>fourth=raw_input('year: ')[3]

year: 2005

>>>fourth

'5'

分片

使用分片操作来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现

>>>numbers=[1,2,3,4,5,6,7,8,9,10]

>>>numbers[3:6]

[4,5,6]

>>>numbers[0:1]

[1]

分片操作的实现需要提供两个索引作为边界,第1个索引的元素是包含在内,第2个则不包含在分片内

如果分片所得部分包括序列结尾的元素,需要置空最后一个索引即可:

>>>numbers[-3:]

[8,9,10]

>>>numbers[:3]

[1,2,3]

>>>numbers[:]

[1,2,3,4,5,6,7,8,9,10]

分片时,开始和结束点需要指定,而另一个参数步长通常都是隐式设置的,在普通的分片中,步长是1

>>>numbers[0:10:1]

[1,2,3,4,5,6,7,8,9,10]

步长为2的分片包括的是从开始到结束每隔1个的元素

>>>numbers[0:10:2]

[1,3,5,7,9]

>>>numbers[3:6:3]

[4]

将每4个元素中的第一个提取出来

>>>numbers[::4]

[1,5,9]

步长不能为0,但是可以为负数,即从右到左提取元素

>>>numbers[8:3:-1]

[9,8,7,6,5]

>>>numbers[10:0:-2]

[10,8,6,4,2]

>>>numbers[0:10:-2]

[]

>>>numbers[::-2]

[10,8,6,4,2]

>>>numbers[5::-2]

[6,4,2]

>>>numbers[:5:-2]

[10,8]

序列相加:

>>>[1,2,3]+[4,5,6]

[1,2,3,4,5,6]

>>>'hello, ' +'world!'

'hello,world!'

>>>[1,2,3]+'world!'

TypeError:

乘法:

>>>'python'*5

'pythonpythonpythonpythonpython'

>>[42]

[42,42]

None是一个Python的内建值,表示这里什么也没有

>>>sequence=[None]*3

>>>sequence

[None,None,None]

成员资格:in

in检查某个条件是否为真

条件为真返回True,为假返回False

>>>permissions = 'rw'

>>> 'w' in permissions

True

>>> 'x' in permissions

False

>>>users=['mlh','foo','bar']

>>>raw_input(‘Enter your user name: ’) in users

Enter your user name:mlh

True

>>> subject = '$$$ Get rich now!!! $$$'

>>> '$$$' in subject

True

长度、最小值、最大值

>>>numbers=[100,34,678]

>>>len(numbers)

3

>>>max(numbers)

678

>>>min(numbers)

34

>>>max(2,3)

3

>>>min(2,3,5,9)

2

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击