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

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

1.      字典(dictionary

Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。它的作用类似于C++ STL里的map容器. 就是一组keyvalue以及它们之间的映射。它的特点是: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++没有完全对应的结构。有些类似的可能是stdvectorlist.

不同主要有以下几点:

1C++ 标准库的vectorlist都只可用来存放一组类型相同的数据。

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

[10, 20,30, 40]

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

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

2Python 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以小括号“(”作为标记,列表以中括号“[”作为标记。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值