找回密码
 会员注册
查看: 30|回复: 0

Python字典(Dict)详解与实战应用

[复制链接]

1

主题

0

回帖

4

积分

新手上路

积分
4
发表于 2024-9-7 13:09:21 | 显示全部楼层 |阅读模式
目录前言一、字典的定义和创建1.使用花括号定义2.使用dict()函数创建二、字典的三种遍历方式方式1:遍历字典的键,通过键获取值 dict.keys()方式2:遍历字典的值,但不能通过值获取键dict.values()方式3:最常用的方法:直接获取键值对 dict.items()三、字典的常见操作1.添加2.删除pop()根据键删除键值对,并返回值popitem()默认删除最后一个键值对,并以元组的方式返回这个键值对clear()清空字典3.修改4.查找5.copy拷贝1.浅拷贝2.深拷贝总结前言字典(Dict)是一种非常强大且常用的数据结构,它通过键值对(key-valuepairs)的形式存储数据。字典的键(key)必须是唯一的且不可变(如字符串、数字或元组),而值(value)则可以是任意数据类型。一、字典的定义和创建示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。1.使用花括号定义Python中,字典可以通过花括号{}直接定义,键和值之间用冒号:分隔,键值对之间用逗号,分隔。#使用花括号定义字典d1={"name":"马云","age":18}print(d1,type(d1))#输出:{'name':'马云','age':18}2.使用dict()函数创建除了直接使用花括号,还可以使用dict()函数来创建字典。该函数可以接受多种形式的参数#使用dict()函数创建空字典d2=dict()print(d2,type(d2))#输出:{}#使用关键字参数创建字典d3=dict(a=10,b=20,c=30)print(d3,type(d3))#输出:{'a':10,'b':20,'c':30}#使用包含键值对的列表(每个元素为元组)创建字典d4=dict([("string1","123"),("string2",456),("a",30),("name","malei")])print(d4,type(d4))#输出:{'string1':'123','string2':456,'a':30,'name':'malei'}#或者使用关键字参数形式,与直接赋值类似d4=dict(string1="123",string2=456,a=30,name="malei")print(d4,type(d4))#输出同上二、字典的三种遍历方式方式1:遍历字典的键,通过键获取值 dict.keys()#方式1:遍历字典的键,通过键获取值dict.keys()d5={"name":"Jeci","age":18,"phone_number":11335426987,"address":"河南省洛阳市","hobbies":["吃饭","逛街","打豆豆"]}forkind5.keys():print(k,d5[k])"""输出:nameJeciage18phone_number11335426987address河南省洛阳市hobbies['吃饭','逛街','打豆豆']"""方式2:遍历字典的值,但不能通过值获取键dict.values()d5={"name":"Jeci","age":18,"phone_number":11335426987,"address":"河南省洛阳市","hobbies":["吃饭","逛街","打豆豆"]}#方式二:遍历字典的值,但不能通过值获取键dict.values()forvind5.values():print(v)"""输出:Jeci1811335426987河南省洛阳市['吃饭','逛街','打豆豆']"""方式3:最常用的方法:直接获取键值对 dict.items()d5={"name":"Jeci","age":18,"phone_number":11335426987,"address":"河南省洛阳市","hobbies":["吃饭","逛街","打豆豆"]}#方式3:最常用的方法:直接获取键值对dict.items()fork,vind5.items():print(k,v)"""输出nameJeciage18phone_number11335426987address河南省洛阳市hobbies['吃饭','逛街','打豆豆']"""三、字典的常见操作1.添加要向字典中添加新的键值对,可以直接通过赋值操作完成d5={"name":"Jeci","age":18,"phone_number":11335426987,"address":"河南省洛阳市","hobbies":["吃饭","逛街","打豆豆"]}print("=================添加==================")#当键不存在时,会自动添加你写的键值对d5["id"]=101print(d5["id"])#101#当键存在时,会修改键对应的值d5["name"]="luccy"print(d5["name"])#luccy2.删除pop()根据键删除键值对,并返回值print("=================删除==================")#pop()根据键删除键值对,并返回值r=d5.pop("age")print(r)#18print(d5)#{'name':'luccy','phone_number':11335426987,'address':'河南省洛阳市','hobbies':['吃饭','逛街','打豆豆'],'id':101}popitem()默认删除最后一个键值对,并以元组的方式返回这个键值对#popitem()默认删除最后一个键值对,并返回这个键值对r=d5.popitem()print(r)#('id',101)print(d5)#{'name':'luccy','phone_number':11335426987,'address':'河南省洛阳市','hobbies':['吃饭','逛街','打豆豆']}clear()清空字典#clear()清空字典d5.clear()print(d5)#{}3.修改update()将另一个字典的键值对信息更新到自己的字典中,若键重复,则更新键对应的值print("=================修改==================")#update()将另一个字典的键值对信息更新到自己的字典中,若键重复,则更新键对应的值dict1={'a':1,'b':2}dict2={'b':3,'c':4}dict1.update(dict2)print(dict1)#{'a':1,'b':3,'c':4}4.查找get(k)获取键对应值并返回,若键不存在返回None,当你get(k,v)时:若键不存在,返回你指定的v,若k存在仍然返回字典中k对应的值print("=================查找==================")d5={"name":"luccy","age":18,"phone_number":11335426987,}#获取键对应值并返回,若键不存在返回Noneprint(d5.get("agg"))#Noneprint(d5.get("name"))#luccy#当查找的键不存在时,我们可以指定默认的返回值,键存在时,依旧返回键对应的值print(d5.get("agg","鸡蛋"))#鸡蛋print(d5.get("name","小米"))#luccy5.copy拷贝1.浅拷贝copy()浅复制:即复制旧的字典给到一个新的字典,当改变旧字典中的可变数据类型(list,dict)的数据时,新的字典也会随之改变print("=================浅复制==================")#copy()浅复制:即复制旧的字典给到一个新的字典,当改变旧字典中的可变数据类型(list,dict)的数据时,新的字典也会随之改变old_dict={"my_list":[1,2,3],"my_dict":{"a":1,"b":2}}#将old_dict字典浅复制给new_dictnew_dict=old_dict.copy()print(old_dict)#{'my_list':[1,2,3],'my_dict':{'a':1,'b':2}}print(new_dict)#{'my_list':[1,2,3],'my_dict':{'a':1,'b':2}}#改变old_dict中的可变数据类型的数据old_dict["my_list"].append(4)old_dict["my_dict"]["c"]=3#new_dict也会随着改变print(old_dict)#{'my_list':[1,2,3,4],'my_dict':{'a':1,'b':2,'c':3}}print(new_dict)#{'my_list':[1,2,3,4],'my_dict':{'a':1,'b':2,'c':3}}2.深拷贝#引入copy模块,使用deepcopy()即复制旧的字典给到一个新的字典,当改变旧字典中的可变数据类型(list,dict)的数据时,新的字典将不再会随之改变print("=================深复制==================")#引入copy模块,使用deepcopy()importcopyold_dict={"my_list":[1,2,3],"my_dict":{"a":1,"b":2}}#将old_dict深复制给new_dictnew_dict=copy.deepcopy(old_dict)print(new_dict)#{'my_list':[1,2,3],'my_dict':{'a':1,'b':2}}#改变old_dict中的可变数据类型的数据old_dict["my_list"].append(4)old_dict["my_dict"]["c"]=3#new_dict不会再随着old_dict改变print(old_dict)#{'my_list':[1,2,3,4],'my_dict':{'a':1,'b':2,'c':3}}print(new_dict)#{'my_list':[1,2,3],'my_dict':{'a':1,'b':2}}总结本问主要介绍了python中的字典数据类型,包括字典的定义,创建,遍历方式,和字典几种常用的操作方法,其中字典的集中操作方法,是我们必须要掌握的。学习一种数据类型,就是学习他的方法。本文详细演示了并讲解了其中增,删,改,查和复制的方法,希望能帮助到各位理解字典。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 22:58 , Processed in 5.567130 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表