首页 > 其他分享 >23.字典的操作

23.字典的操作

时间:2023-11-11 18:33:33浏览次数:27  
标签:name 23 stu key print 操作 字典

字典操作

字典数据获取类操作

keys() 用来获取字典中所有的 key, 保存到一个列表中,并以 dict_keys类型返回

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
ks = stu.keys()
print(ks)

values() 用来获取字典中所有的value, 保存到一个列表中,并以 dict_values 类型返回

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
ks = stu.values()
print(ks)

items() 用来获取字典中所有的键值对,每一个元素键值对都以一个元组保存,将所有元素元组保存到一个列表中,并以 dict_items 类型返回

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
ks = stu.items()
print(ks)

get(key, default) 用来获取key对应的值,如果指定的key不存在,则返回默认值。

字典可以使用 字典对象[key]的形式获取键值对,但是该方法如果指定的 key 不存在,程序会抛出一个错误。此时可以使用get()替代该取值方法

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
# print(stu["name"])
# print(stu["hobby"])
print(stu.get("name"))
print(stu.get("hobby"))
print(stu.get("hobby","无数据"))

字典添加更新类操作

setdefault(key,default) 给一个不存在的key添加一个默认值并将该键值对保存到字典中。

在一些场景下,字典的key存在,但是该key却没有对应的值,此时,就可以使用该方法,为当前的key添加一个默认值。比如服务端要保存客户端发起请求时携带的请求头中的信息。

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}

stu.setdefault("hobby1")
print(stu)
stu.setdefault("hobby2", "无")
print(stu)

fromkeys(keys,val) 用于创建一个新字典,以序列 keys 中元素做字典的键,value 为字典所有键对应的初始值,默认为None

该方法是一个静态方法,需要使用字典类型名 dict 调用。 该方法如果给给定 keys 参数,则所有的key对应值都为默认值 None,如果给定 val值,则所有key对应的值为 val。

ks = ("name", "age", "gender")
s1 = dict.fromkeys(ks)
print(s1)

s2 = dict.fromkeys(ks,"无")
print(s2)

update(d/iterable) 使用参数中的数据更新当前字典。

该方法的参数可以接收一个字典(大多数的使用方式),也可以接收一个可迭代对象,如果参数数据中的key在当前字典中存在,则使用新值更新字典中的键值对,如果参数数据中的key在当前字内中不存在,则将键值对添加到当前字典中。

# 更新目标数据是一个字典
stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
newStu = {"name":"Jack","hobby":"eat"}
stu.update(newStu)
print(stu)
# 更新目标数据是一个可迭代对象
stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
newStu = (("name","Rose"),["hobby","play"])
stu.update(newStu)
print(stu)

字典删除类操作

popitem() 用来获取并删除字典中的最后一个键值对,返回一个元组,如果字典为空时,则抛出一个错误

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
v = stu.popitem()
print(v)
print(stu)

v = stu.popitem()
print(v)
print(stu)

print({}.popitem())

pop(key) 用于获取并删除字典中指定key对应的键值对。如果指定的key不存在,则抛出错误

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
v = stu.pop("name")
print(v)
print(stu)

clear() 清空字典中所有的键值对元素

stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}

print(stu)
stu.clear()
print(stu)

标签:name,23,stu,key,print,操作,字典
From: https://www.cnblogs.com/csfsz/p/17826176.html

相关文章

  • openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密
    openGauss学习笔记-120openGauss数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库120.1密态等值查询概述随着企业数据上云,数据的安全隐私保护面临越来越严重的挑战。密态数据库将解决数据整个生命周期中的隐私保护问题,涵盖网络传输、数据存储以及数据运行态;更进一步......
  • 2023.11.11——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • 22.字典
    字典字典是Python中的一种容器数据类型,用于存储键值对(key-value)的数据集合。和现实生活中的字典类似,通过一个key对应一个确定唯一的值。字典是无序的,可变的,且可以存储任意类型的元素字典的定义Python中使用花括号,保存key-value形式表示字典。key-value中的key必须是一......
  • 首先赋值操作符(=)的优先级小于三元操作符的优先级,所以先计算三元操作符的部分
    三元操作,哪个语法是正确的?Avarx=y=true?”true”:”false”;Bvarx=y=true:”true”?”false”;Cvarx=(y=true):”true”?”false”;Dvarx=(y=true){“true”:”false”};正确答案:A首先赋值操作符(=)的优先级小于三元操作符的优先级,所以先计算三元操作符的部分,三元操作......
  • 【pwn】[HGAME 2023 week1]simple_shellcode --orw利用攻击
    先查看程序的保护状态可以看到,保护全开,拖进ida看主函数的逻辑可以看到有个mmap函数:mmap()函数是Unix和类Unix操作系统中的一个系统调用,用于在进程的地址空间中映射文件或者其它对象。这样做的好处是可以让文件直接映射到内存中,从而避免了频繁的文件I/O操作,提高了文件的读......
  • 20231111练习
    2023-11-11T1【GDOI2017模拟7.19】小X调顺序ProblemDescriptionInputOutputSampleInputCopy31221SampleOutputCopy1DataConstraint求逆序对然后减去\(k\)即可,思维题。#include<cstdio>#include<algorithm>#definelllonglong#defineN1000......
  • 2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第7周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第7周学习总结作业信息这个作业属于哪个课程<班级的链接>(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里<作业要求的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07......
  • 【比赛】2023 NOIP 备战
    2023NOIP备战考试策略20min左右通读题面(一定不要读错题,结合样例分析每道题题至少保证50pts左右的暴力不必按照顺序做题,那道题最有希望先做哪道随时存盘时间分配注重暴力(特别是没有思路的时候,有时间就打不要在没把握的的,耗费太长时间80pts-100pts都可以认......
  • 2023-2024-1 20232401 《网络》第10周学习总结
    2023-2024-120232401《网络》第10周学习总结教材内容学习总结网络空间安全导论第一章思维导图教材学习中的问题和解决过程问题1:制作思维导图困难问题1解决方案:经同学推荐寻得便捷的思维导图制作工具问题2:不了解markdown语法问题2解决方案:仔细研读了老师提供的资料基于......
  • JavaScript的BOM和DOM对象操作与设置顶级窗口------前端
    准备一个用来嵌入的HTML页面<!DOCTYPEhtml><!--这是HTML的注释--><htmllang="en"id="myHtml"> <head> <!--这里不是设置了编码,而是告诉浏览器,用什么编码方式打开文件避免乱码--> <metacharset="UTF-8"> <metaname="viewport&q......