python 映射 字典

三.映射

1.dict 字典表  # 字典没有下标

特性

(1)   通过键(key),而非位置偏移(下标索引)访问数据

(2)   可包括任意对象的无序集合

(3)   可变长度,异质,可任意嵌套

(4)   属“可变映射”分类

(5)   对象引用表(Hash Table)

 

        声明

      (1){} 空字典表

>>> d = {}

>>> d

{}

 

(2){key:value}

>>> employee ={"name":"tom","age":20,"salary":3900.00}

>>> employee   # 字典表里面的内容是任意对象的无序集合

{'name': 'tom', 'age': 20, 'salary':3900.0}  # name是键,“tom”是键值

(1)   dict(key=value)

>>> book = dict(title="python入门",author="tom",price=58.00)

>>> book

{'title': 'python入门', 'author': 'tom', 'price': 58.0}# 冒号自动添加

(5)dict([(key.value)],(key,value)) # list列表转换为字典表

>>> list =[("name","tom"),("age",20)]

>>> list

[('name', 'tom'), ('age', 20)]

>>> emp2 = dict(list)   # list列表转换为字典表

>>> emp2

{'name': 'tom', 'age': 20}

(6)   dict.fromkeys([key1,key2,….])

>>> keys =["name","age","job"]

>>> emp3 = dict.fromkeys(keys)

>>> emp3

{'name': None, 'age': None, 'job': None}  # 没有键值,呈现为空对象

 

常用操作

(1)   data[“key”]

>>> emp ={"name":"tom","age":20,"salary":3900.00,"department":"技术部"}

book={"title":"python入门","author":"tom","price":58.00,"publisher":{"address":"北京","tit":"清华大学出版社"}}

(2)   keyin data

>>> "name" in emp

True

>>> "Name" in emp

False

>>> "prine" in book

False

>>> book[0]    # 不支持索引进行访问

Traceback (most recent call last):

 File "<pyshell#49>", line 1, in <module>

   book[0]

KeyError: 0

(3)   data.get(“key”,”default”)

>>> book["title"]   # 通过键来访问值

'python入门'

>>> book["publisher"]["address"]  # 通过键访问嵌入式的值

'北京'

>>> book.get("price")  # 也可以通过get访问,键错误不会报错

58.0

>>>book.get("qrice","未找到") # 添加'字符',这样没找到键会反馈'未找到'

'未找到'

 

(4)date.keys( ) 所有键

 

(5)date.values( ) 所有值

 

(6) len(data)

keys =["price","colour"]

>>> len(keys)

2

(7)   data.copy  #  dict复制

>>> emp ={"name":"tom","age":20,"salary":3900.00,"department":"技术部"}

>>> c = emp.copy()

>>> c

{'name': 'tom', 'age': 20, 'salary':3900.0, 'department': '技术部'}

(8)   字典表的清除

>>> c.clear()

>>> c

{}

(9)date[key] = value     #  键重新赋值

>>> emp

{'name': 'tom', 'age': 20, 'salary':3900.0, 'department': '技术部'}

>>> emp["age"] = 30    # 修改的值存在就修改,不存在就新增

>>> emp

{'name': 'tom', 'age': 30, 'salary':3900.0, 'department': '技术部'}

(10)date.update( date2)       # 跟新合并字典表

>>> e = {"job":"vde"}

>>> emp.update(e)

>>> emp

{'name': 'tom', 'age': 30, 'salary':3900.0, 'department': '技术部', 'job': 'vde'}

(11)del data[key]               #   删除键

>>> del e["job"]

>>> e

{}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值