Python入门(六):对象类型之字典

1. 字典特性

  列表是有序对象的集合,字典可以看作是无序对象的集合。差别就在于,列表通过偏移来存取数据,而字典通过键(key)来存取数据。字典主要有以下特点:

1). 无序集合、通过键来读取数据

Python中,字典的各项从左到右随机排序,以便快速查找。字典通过键(key)将一系列的值联系起来,因此字典有时候又叫关联数组(associated array)散列表 (hash)

2). 可变长度、异构以及任意嵌套

与列表类似,字典也可以可以实时增加、减少长度;可以包含不同类型的对象(异构);可以嵌套列表以及其他字典(嵌套)

3). 可变映射类型

字典不支持用于字符串和列表中的序列操作,它通过键(key)实现到值(value)的映射,支持通过键(key)的索引赋值实现原处修改。

理解字典的最好方式,就是将它看做是一个 (键: 值) 对的集合,在一个字典中,键必须是唯一的,有点像函数的一一映射。和列表一样, 字典的存储是对象引用而不是拷贝。

2. 字典的常见操作

2.1 基础操作

  • 创建字典
  1. 通过{ key1: value1, key2 : value2… } 这种方式创建,或者通过dict( key1 = value1, key2 = value2, …) }来创建。
## 空字典
>>> d = {
   }
>>> d
{
   }

>>> d = {
   'name':'Bob','age':18,'gender':'male'}
>>> d
{
   'name': 'Bob', 'age': 18, 'gender': 'male'}

>>> d = dict (name='Bob', age = 18, gender = 'male')
>>> d
{
   'name': 'Bob', 'age': 18, 'gender': 'male'}
  1. 通过dict.fromkeys( [ iterabe [,value] ] )创建,其中iterable是一个可迭代对象,用于创建字典的键,value是键对应的值。需要注意的是,value赋值是把整个value赋值给每一个键。
>>> iterable = ['name','age','gender']
>>> d1 = dict.fromkeys(iterable)
>>> d1
{
   'name': None, 'age': None, 'gender': None}

## 赋值
>>> d2 = dict.fromkeys(iterable,values)
>>> d2
{
   'name': ['Bob', 18, 'male'], 'age': ['Bob', 18, 'male'], 'gender': ['Bob', 18, 'male']}
  1. 通过dict([ (key1, value1), (key2, value2)… ])来创建,也就是包含键值对的元组的列表来创建。
>>> d = dict([('name','Bob'),('age',18)])
>>> d
{
   'name': 'Bob', 'age': 18}
  1. 通过dict( zip ( keylist, valuelist ) ] )创建,其中,keylist是键的列表,valuelist是值的列表,这样子就可以实现,键列表和值列表的一一映射。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值