您的位置:首页 > 编程语言 > Python开发

Python语言入门之内置数据类型

2014-09-24 16:23 417 查看
Python语言入门之内置数据类型

1. 字典(dictionary)

Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。它的作用类似于C++ STL里的map容器.
就是一组key和value以及它们之间的映射。它的特点是:key具有唯一性;相同的value可具有不同的key值,但不同的value不可能对应一个key.如:

>>>dict2={'name':'earth','name':'sky'}

>>>print(dict2)

{'name':'sky'}

其他例子如下:

>>> d ={"server":"mpilgrim","database":"master"}

>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"]

'mpilgrim'
>>> d["database"]

'master'
>>> d["mpilgrim"]
Traceback (innermost last):
File"<interactive input>", line 1, in ?
KeyError: mpilgrim


2. 列表(list)

C++没有完全对应的结构。有些类似的可能是std的vector和list.

不同主要有以下几点:

(1)C++
标准库的vector和list都只可用来存放一组类型相同的数据。

Python的list则不然,可以包含任何类型的元素。如下例所示:

[10, 20,30, 40]

["spam","bungee", "swallow"]

["hello",2.0, 5, [10, 20]]

(2)Python
List的index可以是任意的整型表达式,若为负数,则总后向前数



(3)可以使用指定上下限的方式来获得一个List的Slice。并且可以通过slice的方式对list进行批量增加或删除

3. 元组(tuple)

Tuple
是不可变的 只读list。一旦创建了一个 tuple,就不能以任何方式改变它。
Tuple
可以转换成 list,反之亦然。内置的
tuple
函数接收一个 list,并返回一个有着相同元素的tuple。而
list
函数接收一个
tuple 返回一个 list。从效果上看,
tuple
冻结一个 list,而
list
解冻一个
tuple。
使用 tuple
有什么好处呢?

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

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

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

例子:
>>> tuple = ('a', 'b', 'c', 'd', 'e')

>>> tuple[1:3]
('b', 'c')
>>> tuple = ('A',) + tuple[1:]

>>> tuple
('A', 'b', 'c', 'd', 'e')
4.
总结
Dictionary,list
和tuple 都是python语言内置的数据容器类型之一。其中tuple和list以数值顺序索引,而字典通过所选择的键值key进行索引的。
List
和tuple 都是数据序列,且可相互转换,但tuple不可改变其元素的值。字典以大括号“{”作为标记,tuple以小括号“(”作为标记,列表以中括号“[”作为标记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: