python数据类型——序列(字符串,列表,元组)-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 247181
  • 博文数量: 40
  • 博客积分: 713
  • 博客等级: 军士长
  • 技术积分: 437
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-06 19:16
个人简介

努力不一定成功但放弃就一定失败

文章分类

全部博文(40)

文章存档

2012年(32)

2011年(8)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: python/ruby

2012-11-07 15:58:58

本文转自:


python的数据访问模型:直接存取 ,序列 ,映射

对非容器类都可以直接存取,所有的数值类型归为此类。

序列类型是指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素。  字符串列表元组归到次类

映射类型和序列类型不同之处,它使用的索引和顺序的数字偏移量不同,它的元素无序存放,通过唯一的key来访问。 字典就是这种类型。

 

 

下面要说的字符串(strings),列表(lists),元组(tuples),我们可以统称为序列。

序列有着相同的访问模式:它的每一个元素都可以通过指定一个偏移量的方式得到,而要想一次得到多个元素,我们可以使用切片,下表偏移量从0开始,总元素数减1结束。

 

下面举几个例子,先看看什么事字符串,列表,元组。

 

字符串:
>>> a = 'hello python!'

>>> a

'hello python!'

>>> b = "this is 'python'"

>>> b

"this is 'python'"

>>> c = 'this is "python"'

>>> c

'this is "python"'

>>>

 

列表:

>>> a = [1, 2, 3, 4, 5]

>>> a

[1, 2, 3, 4, 5]

>>> b = [1, 'a', 2.5, 2 3j, "this is python list"]

>>> b

[1, 'a', 2.5, (2 3j), 'this is python list']

>>>

 

元组:

>>> a = (1, 3, 5, 7)

>>> a

(1, 3, 5, 7)

>>> a = ('a',2)

>>> a

('a', 2)

>>>

 

 

下面看一下序列通用的几个操作符:

1 连接操作符( )  这个操作符允许我们把一个序列和另一个相同的序列做链接。

sequence1 sequence2  结果是包含两个原序列内容的新序列。

 

>>> a = 'this is '

>>> b = 'python'

>>> a b

'this is python'

>>>

 

2 重复操作符(*)

当你需要一个序列的多份拷贝时,重复操作符非常有用。

sequence * copies_int

copies_int必须为整型。

 

>>> a

'this is python'

>>> a*3

'this is pythonthis is pythonthis is python'

>>>

 

>>> b = [1, 2, 3]

>>> b*3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>>

 

 

3 切片操作符 [ ] [:] [: : ]

切片操作符应该是由最简单的取单个元素的操作扩展而来的。通常sequence[n]代表取出序列中第n 1个元素(因为元素下标从0开始)

>>> a = 'python'

>>> a[2]

't'

>>> b = [1, 2, 3, 4]

>>> b[2]

3

>>> c = (1, 2, 3)

>>> c[2]

3

>>>

当中括号里面有个:的时候,代表冒号两边的数字规定了两个位置,我们把处于这个位置之中的所有元素取了出来。如果冒号两边什么都没有,代表取出所有元素,如果两边有数,例如sequence[m:n] 就是代表取出从下标为m的元素到下标为n-1的所有元素。如果中括号里两个冒号,那么两个冒号后面的数代表步长,就是隔几个元素取一次。下面一字符串为例详细说明。(其他的序列操作类似)

>>> a = 'python'

>>> a[1]

'y'

>>> a[:]

'python'

>>> a[1:4]

'yth'

>>> a = '10001000100010001'

>>> a[0:17:4]

'11111'

>>>

另外切片支持负数操作。比如

>>> a = 'python'

>>> a[-1]

'n'

>>> a[-2]

'o'

>>> a[-6]

'p'

>>>

由此我们就可以很随意的取元素了。但是注意一点,平时我们不加步长,是因为我们默认是顺序取,并且步长为1,假如我们要倒着取,步长必须为负数才行,否则取的不正确。

>>> a = 'python'

>>> a[-2:-4]

''                   这是错误的

>>> a[-4:-2]

'th'

>>> a[-2:-4:-1]

'oh'

>>> a[::-1]

'nohtyp'

>>>

4 成员操作符( in , not in )

 

>>> a = 'python'

>>> 'p' in a

false

>>> 'y' in a

true

>>> b = [1, 2, 3, 4]

>>> 1 in b

true

>>> 5 in b

false

>>>

 

序列的一些常用的公用函数:

1 len() 获得序列的长度

 

>>> a = 'ddddddd'

>>> b = [1, 3, 4, 4]

>>> c = (1,3,4,4)

>>> len(a)

7

>>> len(b)

4

>>> len(c)

4

>>>

得出一点结论,python字符串和c字符串不同的地方,python字符串不会以空字符结尾

 

2 max() and min()  获得序列中最大和最小元素

 

>>> a = 'abcdefg'

>>> b = [1, 3, 5, 8]

>>> c = (2, 5, 1, 0)

>>> d = ['a',3,45,9]

>>> max(a)

'g'

>>> max(d)

'a'

>>> min(b)

1

>>> min(c)

0

>>>

 

 

下面接着看看标准内建函数:

1 type(object)  接受一个对象作为参数,并返回它的类型。

 

>>type(2)

>>

>>type(‘a’)

>>

 

2 cmp()  比较大小

 

>>> a = 4

>>> b = 8

>>> cmp(a,b)

-1

>>> cmp(b,a)

1

>>> a = 3

>>> b = 3

>>> cmp(a,b)

0

>>> a = 'lmn'

>>> b = 'abc'

>>> cmp(a,b)

1

>>>

 

3 str()  和repr()

 

>>> str(4.53-2j)

'(4.53-2j)'

>>> str(1)

'1'

>>> str([1, 3, 4, 5])

'[1, 3, 4, 5]'

>>> repr([1, 3, 4, 5])

'[1, 3, 4, 5]'

>>> '[1, 3, 4, 5]'

'[1, 3, 4, 5]'

阅读(2749) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

2012-11-16 09:34:51

oasys.pile.v19.0
oasys.pilset.v19.1
oasys.safe.v19
oasys.slope.v19
oasys.xdisp.v19

plaxis v8.5
plaxis 3d foundation v1.6
plaxis_3d_tunnel_v1.2
plaxis.2d.v9.02.612
udec31 岩土分析软件
z_soil2d v6.13 岩土分析软件
代尔夫特(delft)岩土所计算软件
digital_canal系列软件
leap_software_presto_v8.6.1
leap_software_rc_pier_v4.01桥梁工程软件
leap_software_leap_bridge_v6.0
leap_software系列软件
sam-leap5.v5.10d 桥梁设计

|
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图