Python-字典基础-学习日志-CSDN21天学习挑战赛(三)-更多学习请期待下期

目录

一、字典概念

        1.概念:

        2.格式为:

        3.简单示例:

二、字典相关操作

1.字典创建   

        a.直接创建:(简单粗暴)

        b.借用dict创建

        c.通过zip()创建字典对象

        d. fromkeys通过一维键列表创建字典

2.字典访问

        a.通过[键]获得“值”

        b.通过get()方法获得“值”,比较好用

        c. 列出所有的键和值

        d. 列出键值对个数,检测键是否存在

 3.字典增删改

        增与改:

        a.   a['键']='值'  ==> 直接派增

        b.   a.update(b) 

        c.通过setdefault检测字典是否存在键或者增加键值对

        删:

        a. del(a['键'])   直接删除

        b. pop(a['键'])  删除键值对并返回“值”;

        c. clear()          删除全部键值对  

        d. popitem() :

4.字典遍历:

结尾:


活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

 

一、字典概念

        1.概念:

                在Python中,字典简单来讲,就是用大括号括起来,有键值对的一个东西。

        2.格式为:

                {'键1':'值1','键2':'值2','键3':'值3'}

引用菜鸟教程的解释:

        字典是另一种可变容器模型,且可存储任意类型对象。

        字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

        3.简单示例:

a = { 'School_class':2 ,'name':'SYW','age':20,'School':'SZschool','Youlike':'Basketball'}
#这就是一个字典,可以直接打印输出:
print(a)

# 下面是输出
>>> {'School_class': 2, 'name': 'SYW', 'age': 20, 'School': 'SZschool', 'Youlike': 'Basketball'}

二、字典相关操作

1.字典创建   

   字典的创建有很多种,下面就给大家介绍介绍。

        a.直接创建:(简单粗暴)

dd = {'name':'SYW','age':21,'job':'student'}
cc = {}   #空的字典对象
print(dd,cc)

输出:

>>> {'name': 'SYW', 'age': 21, 'job': 'student'} {}

        b.借用dict创建

z = dict(name='SYW',age=21,job='student')
v = dict([("name","SYW"),("age",21)])
dit0 = dict()   #空的字典对象
print(z,v,dit0)

输出:

>>> {'name': 'SYW', 'age': 21, 'job': 'student'} {'name': 'SYW', 'age': 21} {}

        c.通过zip()创建字典对象

                优势:将键值对分开,以列表的形式创建,创建形式灵活。

                建议:键与值导入时要一一对应,否则键创建后会被抛弃。

f = ['name','age','job']
s = ['SYW',21,'Student']
dit0 = dict(zip(f,s))
print(dit0)

输出:

>>> {'name': 'SYW', 'age': 21, 'job': 'Student'}

        d. fromkeys通过一维键列表创建字典

# 1.默认值为空(None)的字典
list1 = ['name','age','job']
a = dict.fromkeys(list1)
print(a)

输出:
>>> {'name': None, 'age': None, 'job': None}

# 2.将默认值修改为任意值再创建字典:
list1 = ['name','age','job']
b = dict.fromkeys(list1,"大汉王朝" )
print(b)

输出:
>>> {'name': '大汉王朝', 'age': '大汉王朝', 'job': '大汉王朝'}

 

2.字典访问

        先创建一个根字典,提供给对应的方法函数访问。

a = {'name':'SYW','age':18,'job':'student'}

        a.通过[键]获得“值”

print(a['name'])
print(a['age'])
# 键不存在会抛出异常。
# 异常部分被我使用try...except...替换掉了,所以没有抛出异常,输出出现异常时会输出"报错!键'sex'不存在!"。
try:
    print(a['sex'])
except Exception as e:
    print("报错!键'sex'不存在!")

输出:
>>> SYW
>>> 18
>>> 报错!键'sex'不存在!

        b.通过get()方法获得“值”,比较好用

                功能:键存在,返回“值”;键不存在,返回None或者默认对象。

print(a.get('name'))
print(a.get('sex'))
print(a.get('sex','一个男人'))  # 如果键不存在,返回 '一个男人'
 # 列出所有的键值对
print(a.items())

输出:
>>> SYW
>>> None
>>> 一个男人
>>> dict_items([('name', 'SYW'), ('age', 18), ('job', 'student')])

        c. 列出所有的键和值

# 列出所有的键
print(a.keys())
# 列出所有的值
print(a.values())

输出:
>>> dict_keys(['name', 'age', 'job'])
>>> dict_values(['SYW', 18, 'student'])

        d. 列出键值对个数,检测键是否存在

# len() 键值对的个数
print('键值对的数目为:',len(a))
# 检测一个“键”是否在字典中
a = {"name":"SYW","age":18}
print("name" in a)

输出:
>>> 键值对的数目为: 3
>>> True

 

 3.字典增删改

        增与改:

        a.   a['键']='值'  ==> 直接派增

                “键”存在 ==> 覆盖旧键值;
                “键”不存在=> 新增“键值对”。 

a = {'name':'SYW','age':21,'job':'SZstudent'}
a['address']='汕头职业街'
a['age']=19
print(a)

输出:
>>> {'name': 'SYW', 'age': 19, 'job': 'SZstudent', 'address': '汕头职业街'}

        b.   a.update(b) 

                 将b的键值对全塞到a中,且将a相同键的值直接覆盖。

dict0={'name':'SYW','salary':'18w'}
dict1={'name':'xiaolin','city':'guangdong'}
dict1.update(dict0)
print(dict1)

输出:
>>> {'name': 'SYW', 'city': 'guangdong', 'salary': '18w'}

        c.通过setdefault检测字典是否存在键或者增加键值对

A=['name','age']
B=['SYW',20]
dict0 = dict(zip(A,B))
print(dict0)
dict0.setdefault('name','XL')
# 因为name存在,所以name的值没什么变化。
print(dict0)
dict0.setdefault('city','guangdong')
# 因为ciy不存在,所以添加新的键值对。
print(dict0)

输出:
>>> {'name': 'SYW', 'age': 20}
>>> {'name': 'SYW', 'age': 20}
>>> {'name': 'SYW', 'age': 20, 'city': 'guangdong'}

        删:

        a. del(a['键'])   直接删除

        b. pop(a['键'])  删除键值对并返回“值”;

        c. clear()          删除全部键值对  

a = {'name':'SYW','age':20,'job':'Student'}
del(a['name'])
print(a)
b = a.pop('age')
print(b)
a.clear()
try:
    print(a['job'])
except Exception as e:
    print("字典a已经被清除了啦~")

输出:
>>> {'age': 20, 'job': 'Student'}
>>> 20
>>> 字典a已经被清除了啦~

        d. popitem() :

                删除并返回最后一对键值对。

a = {'name':'SYW','age':21,'job':'Student'}
print(a)
print(a.popitem())
print(a)
print(a.popitem())
print(a)

输出:
>>> {'name': 'SYW', 'age': 21, 'job': 'Student'}
>>> ('job', 'Student')
>>> {'name': 'SYW', 'age': 21}
>>> ('age', 21)
>>> {'name': 'SYW'}

4.字典遍历:

        键遍历、值遍历和键值遍历:

A=['name','age']
B=['SYW',20]
dict0 = dict(zip(A,B))

for key in dict0:
    print("字典键为:",key)
print("-------------")
for value in dict0:
    print("字典值遍历:",value)
print("-------------")
for key,value in dict0.items():
    print("字典的键为{0},值为{1}。".format(key,value))
print("-------------")


输出:
>>> 字典键为: name
>>> 字典键为: age
>>> -------------
>>> 字典值遍历: name
>>> 字典值遍历: age
>>> -------------
>>> 字典的键为name,值为SYW。
>>> 字典的键为age,值为20。
>>> -------------

结尾:

以上就是字典比较基本操作的全部了,更多详细操作还请阅读官方文档哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

矢量克罗斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值