[转帖]pys60内置数据类型:dictionary,list,tuple

Posted on 2009-06-30 21:28  fouri  阅读(238)  评论(0编辑  收藏  举报

 

内置数据类型:dictionary , list ,tuple

1。Dictionary

Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。
定义:

>>dic={'apple':'red','banana':'yellow','sun':'white','water':'none'}

>>dic

>>{'apple':'red','banana':'yellow','sun':'white','water':'none'}

查询:

>>dic['apple']

>>'red'

修改:

>>dic['banana']='sweet'

>>dic

>>{'apple':'red','banana':'sweet','sun':'white','water':'none'}

数据混用:

>>dic['apple']=39

>>dic

>>={'apple':39,'banana':'sweet','sun':'white','water':'none'}

删除:

1

>>del dic['apple']

2

>>dic.clear()

2,List

List 是 Python 中使用最频繁的数据类型

定义:

>>l=['apple','banana','sun','water']

>>l

>>['apple','banana','sun','water']

查询:

>>l[0]

>>'apple'

>>l[-1]

>>'water'

分片:

>>l[1:3]

>>['banana','sun']

>>l[2:-1]

>>['sun']

操作:

>>l.append('test')(追加)

>>l.insert(2,'text')(插入)

>>l.extend(['tom','jay'])(对象为list,直接加入)

搜索:

>>l.index("test")(首次出现)

删除:

>>l.remove('test')

>>l.pop()(删除末尾)

list 的运算符:

>>> li = ['a', 'b', 'mpilgrim']
>>> li = li + ['example', 'new']

>>> li
['a', 'b', 'mpilgrim', 'example', 'new']
>>> li += ['two']               

>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
>>> li = [1, 2] * 3             

>>> li
[1, 2, 1, 2, 1, 2]

3,Tuple

即不可改变的List

定义:

>>t=('a','b','c')

查询:

>>t[1]

>>'b'

使用 tuple 的好处

Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。

如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

dictionary keys 可以是字符串,整数和 “其它几种类型”。Tuples 就是这些类型之一。Tuples 可以在 dictionary 中被用做 key,但是 list 不行。实际上,事情要比这更复杂。Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。只有字符串、整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key。

Tuples 可以用在字符串格式化中,我们会很快看到。