python之字典相关知识

python之字典相关知识

1、字典的创建

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。字典的每个键值 key:value 对用冒号分割,键值对之间用逗号分割
示例

# 创建并打印字典
aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict)

运行结果:
请添加图片描述

说明:
①字典和列表一样能够存储多个数据,列表中找某个元素时是根据下标进行的,而字典不能使用下标取值,字典中查找某个元素时是根据键的名字进行的。
②键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
③值可以取任何数据类型,但键必须是不可变的,可以用数字,字符串或元组充当,但用列表不行。

2、根据键访问字典里的值

可以通过在方括号内引用其键名来访问字典的值
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict["name"])

运行结果:
请添加图片描述

若访问不存在的键,则会报错
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict["score"])

运行结果:
请添加图片描述

还可以使用 get( ) 方法返回具有指定键的项目值
语法如下:

dictionary.get(keyname, value)

参数含义:
keyname:必选参数。要从中返回值的项目的键名
value:可选参数。若指定的键不存在,可以设置返回一个值。默认值 None

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict.get("name"))     # 获取 "name" 项的值

print(aDict.get("score",0))  # 返回不存在的项目的值,设置返回值为 0

print(aDict.get("score"))

运行结果:
请添加图片描述

3、字典的常见操作

3.1 查找元素

如上所讲,可以使用键名查找,也可以使用 get( ) 方法,这里不再赘述
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict["name"])
print(aDict.get("age"))

运行结果:
请添加图片描述

3.2 修改元素

可以通过引用键的名字来更改特定项的值
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
newAge = input("请输入新的年龄:")
aDict["age"] = int(newAge)
print(f"修改后的age为{aDict['age']}")

运行结果:
请添加图片描述

3.3 添加元素

可以通过使用新的索引键并为其赋值,将项目添加到字典中。即如果在使用 变量名[“键名”] = 数据 ,这个"键名"在字典中不存在时就会新增这个元素
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
aDict["score"] = 85.5
print("添加的成绩为:{}".format(aDict["score"]))
print(aDict)

运行结果:
请添加图片描述

3.4 删除元素

有几种方法可以从字典中删除项目

• del 关键字
del 关键字可以删除具有指定键名的项目,也可以完全删除字典
示例1

aDict = {"name":"Cindy","age":10,"sex":"female"}
del aDict["age"]   # 删除"age"项
print(aDict)

运行结果:
请添加图片描述

示例2

aDict = {"name":"Cindy","age":10,"sex":"female"}
del aDict      # 删除整个字典
print(aDict)   # 会报错,因为 "aDict" 不再存在

运行结果:
请添加图片描述

• clear( ) 方法
clear()方法会清空整个字典
语法如下:

dictionary.clear()

无参数

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
aDict.clear()   # 删除字典中所有的元素
print(aDict)

运行结果:
请添加图片描述

• pop( ) 方法
pop() 方法会删除拥有指定键的元素,被删除项目的值是该方法的返回值
语法如下:

dictionary.pop(keyname, defaultvalue)

参数含义:
keyname:必选参数。需要删除项目的键名
defaultvalue :可选参数。返回值。如果未指定此参数,且指定的键不存在,则会引发错误

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
x = aDict.pop("name")    # 从字典中删除 "name"
print(aDict)
print(x)                 # 被删除项目的值是 pop() 方法的返回值

运行结果:
请添加图片描述

• popitem( ) 方法
popitem() 方法删除最后插入字典中的项目。在 3.7 之前的版本中,popitem() 方法删除一个随机项。该方法的返回值是以元组的形式的被删除的项目
语法如下:

dictionary.popitem()

无参数

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
x = aDict.popitem()   # 从字典中删除最后一个项目
print(aDict)
print(x)              # 被删除项目的值是 popitem() 方法的返回值

运行结果:
请添加图片描述

4、字典的常见方法

4.1 len( )

len() 方法用于确定字典中键值对的数量
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(len(aDict))

运行结果:
在这里插入图片描述

4.2 keys( )

keys() 方法返回一个包含字典所以键的列表,该列表会反映对字典的任何改变
语法如下:

dictionary.keys()

无参数

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict.keys())  # 返回键

运行结果:
请添加图片描述

4.3 values( )

values() 方法返回一个包含字典中所有值的列表,该列表会反映对字典的任何改变
语法如下:

dictionary.values()

无参数

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict.values())  # 返回值

运行结果:
请添加图片描述

4.4 items( )

items() 方法返回返回一个包含所有键值对(键,值)元组的列表,该列表会反映对字典的任何改变
语法如下:

dictionary.items()

无参数

示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
print(aDict.items())  # 返回字典的键值对

运行结果:
请添加图片描述

5、字典的遍历

5.1 遍历字典的键

循环遍历字典时,返回值是字典的键
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
for key in aDict:
    print(key)

运行结果:
请添加图片描述

也可以用keys() 方法
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
for key in aDict.keys():
    print(key)

运行结果:
请添加图片描述

5.2 遍历字典的值

可以通过遍历键访问字典中的所有值
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
for key in aDict:
    print(aDict[key])

运行结果:
请添加图片描述

也可以通过使用values()方法
示例

aDict = {"name":"Cindy","age":10,"sex":"female"}
for value in aDict.values():
    print(value)

运行结果:
请添加图片描述

5.3 遍历字典的键和值

通过使用 items()遍历键和值
示例1

aDict = {"name":"Cindy","age":10,"sex":"female"}
for item in aDict.items():
    print(item)

运行结果:
请添加图片描述

示例2

aDict = {"name":"Cindy","age":10,"sex":"female"}
for key,value in aDict.items():
    print(key,value)

运行结果:
请添加图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值