python中的字典

字典

字典的定义:

       dictionary(字典)是出列表以外python之中最灵活的数据类型

       字典同样可以用来存储多个数据

       通常是用于存储描述一个物体的相关信息

和列表的区别:

       列表是有序的对象集合

       字典是无序的对象集合

字典用{}定义

字典使用键值对存储数据,键值对之间使用逗号,分隔

       键key是索引

       值value是数据

       键和值之间使用:分隔

       键必须是唯一的

       值可以取任何数据类型,但键只能用字符串、数字或元组

列如:

xiaoming = {"name": "小明",

            "age": 18,

            "gender": True,

            "height": 1.75

}

print(xiaoming)

 

输出结果为:

{'name': '小明', 'age': 18, 'gender': True, 'height': 1.75}

注意:

字典.key() 表示所有的key列表

字典.value() 表示所有的value列表

字典.items() 表示所有的(key,value)元组列表

 

字典的基本使用:

例如:

xiaoming_dict = {"name": "小明"}

# 1.取值

# 在取值的时候,如果指定的key不存在,程序会报错!

print(xiaoming_dict["name"])

# 2.增加/修改

# 如果key不存在,会新增键值对

# 如果key存在。会修改已经存在的键值对

xiaoming_dict["age"] = 18

xiaoming_dict["weight"] = 1.75

# 3.删除

# 在删除指定的键值对的时候,如果指定的key不存在,程序会报错!

xiaoming_dict.pop("name")

print(xiaoming_dict)

 

字典的其他操作

xiaoming_dict = {"name": "小明",

                 "age": 18}

# 1.统计键值对数量

# 使用len方法

print(len(xiaoming_dict))

# 2.合并字典

# 使用 字典.update方法

temp_dict = {"height": 1.75,

             "age": 20}

# 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对

xiaoming_dict.update(temp_dict)

print(xiaoming_dict)

# 3.清空字典
 

xiaoming_dict.clear()

print(xiaoming_dict)

 

字典的循环遍历

遍历就是依次从字典中获取所有键值对

语法:

# for 循环内部使用的 ‘key的变量’ in 字典

for k in xiaoming:

       print(“%s: %s % (k,xiaoming[k]))

提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多

 

例如:

xiaoming_dict = {"name": "小明",

                 "qq": "123456",

                 "phone": "10086"}

for k in xiaoming_dict:

print("%s - %s" %(k,xiaoming_dict[k]))

输出结果为:

name - 小明

qq - 123456

phone – 10086

 

应用场景

尽管可以使用for in遍历字典

但是在开发中,更多的应用场景是:

       使用多个键值对,存储描述一个物体的相关信息—描述更复杂的数据信息

       将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理

例如:

# 使用多个键值对,存储描述一个物体的相关信息—描述更复杂的数据信息

# 将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理

car_list = [

    {"name": "张三",

     "qq": "123456789",

     "phone": "110"},

    {"name": "李四",

     "qq": "789456123",

     "phone": "10086"}

]


for car_info in car_list:

print(car_info)

输出结果为:

{'name': '张三', 'qq': '123456789', 'phone': '110'}

{'name': '李四', 'qq': '789456123', 'phone': '10086'}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值