python字典dict方法_python中dict的用法

python字典dict方法_python中dict的用法文章目录:一.字典(dict)的概念:二.字典(dict)的定义:1.一般格式:2.空字典:3.举例:注意:三.字典(dict)的一些基本操作:1.增:2.删:3.查:4.改:四.字典(dict)的常见操作:五.字典三种取值方式:1.value=字典名[key]:2.setdefault:3.get:六.字典的遍历:1.key:2.value:3.item:4.依次打印key和value:5.元素值和对应的下标索引(enumerate()):一.字典(dict)的概念:Python字典是另一种可变容器模

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一.字典(dict)的概念:

Python字典是另一种可变容器模型,可存储任意类型对象。如字符串、数字、元组等其他容器模型
因为字典是无序的所以不支持索引和切片。

二.字典(dict)的定义:

1.一般格式:

格式: 字典名={元素1,元素2,...}
元素以键值对存在==key(键值):value(实值)

2.空字典:

格式: 字典名={} 或者 字典名=dict()

3.举例:

dict = { 
   "nane": "张三", "age": 20, "sex": "男"}
dict1={ 
   }
dict2={ 
   }
print(dict)
print(dict1)
print(dict2)

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

注意:

  • key不可以重复,否则只会保留第一个;
  • value值可以重复;
  • key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一;
  • key一般形式为字符串。

三.字典(dict)的一些基本操作:

1.增:

格式: 字典名[new key]=new value

# 定义一个字典
dict = { 
   "nane": "张三", "age": 20, "sex": "男"}
# 增加元素
dict["score"] = 100
print(dict)

在这里插入图片描述

2.删:

格式:del 字典名[key]

# 定义一个字典
dict = { 
   "name": "张三", "age": 20, "sex": "男"}
#删除元素
del dict["name"]
print(dict)

在这里插入图片描述

3.查:

格式: value=字典名[key]

# 定义一个字典
dict = { 
   "name": "张三", "age": 20, "sex": "男"}
#查找元素
value=dict["sex"]
print(value)

在这里插入图片描述

4.改:

格式: 字典名[key]=new value

# 定义一个字典
dict = { 
   "name": "张三", "age": 20, "sex": "男"}
#修改元素
dict["name"]="李四"
print(dict)

在这里插入图片描述
注意:也可以使用clear()去进行清空字典

#清空字典
dict.clear()
print(dict)

四.字典(dict)的常见操作:

名称 解释
len() 测量字典中键值对个数
keys() 返回字典中所有的key
values() 返回包含value的列表
items() 返回包含(键值,实值)元组的列表
in \ not in 判断key是否存在字典中
举例说明:
# 定义一个字典
dict = { 
   "name": "张三", "age": 20, "sex": "男"}

#常见操作
#len():测量字典中的键值对
print(len(dict))
#keys():返回所有的key
print(dict.keys())
#values():返回包含value的列表
print(dict.values())
#items():返回包含(键值,实值)元组的列表
print(dict.items())
#in not in
if 20 in dict.values():
    print("我是年龄")
if "李四" not in dict.values():
    print("李四不存在")

在这里插入图片描述

五.字典三种取值方式:

1.value=字典名[key]:

这种是比较简单的方式,通过key值进行取值:

#字典的定义
my_dict={ 
   "name":"小红","age":20,"sex":"女"}

#1.value=字典名[key]
print(my_dict["age"])

2.setdefault:

  • 格式:字典名.setdefault(k,value)
  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在.返回None,并且把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value;
#字典的定义
my_dict={ 
   "name":"小红","age":20,"sex":"女"}

#2.setdefault: 格式:字典名.setdefault(k,default)
#如果key存在返回对应的value
print(my_dict.setdefault("name"))
print(my_dict.setdefault("name","111"))
print(my_dict)
#如果key不存在,返回None,并且将设置的加入字典中
print(my_dict.setdefault("name1"))
print(my_dict.setdefault("name1","555"))
print(my_dict)

3.get:

  • 格式:字典名.get(k,value)
  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在.返回None,但是不会把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value;
#字典的定义
my_dict={ 
   "name":"小红","age":20,"sex":"女"}

#3.get: 格式:字典名.get(k,default)
#如果key存在返回对应的value
print(my_dict.get("name"))
print(my_dict.get("name","李四"))
#如果key不存在,返回None,设置的不加入字典中
print(my_dict.get("name2"))
print(my_dict.get("name2","王五"))
print(my_dict)

以上3部分程序运行结果:
在这里插入图片描述

六.字典的遍历:

1.key:

#1.key
for i in my_dict.keys():
    print(i)

2.value:

#2.value
for i in my_dict.values():
    print(i)

3.item:

#3.所有项(元素) item
for i in my_dict.items():
    print(i)

4.依次打印key和value:

#4.依次打印key和value,通过索引
for key,value in my_dict.items():
    print(key,value)

5.元素值和对应的下标索引(enumerate()):

#5.元素值和对应的下标索引 enumerate(列表名)
for i in enumerate(my_dict):
    print(i)

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


关于字典的介绍,以后有新知识了会补充,有建议的小伙伴欢迎提出…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185450.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月6日 上午7:36
下一篇 2022年10月6日 上午7:36


相关推荐

  • 分布式存储系统考虑因素-分区容错性[通俗易懂]

    分布式存储系统考虑因素-分区容错性[通俗易懂]分布式存储系统中的多台服务器通过网络进行连接。但是我们无法保证网络是一直通畅的,分布式系统需要具有一定的容错性来处理网络故障带来的问题。

    2022年7月25日
    7
  • Linux 更改文件名

    Linux 更改文件名Linux 更改文件名

    2026年3月20日
    3
  • K折交叉验证解释

    K折交叉验证解释所谓 K 折交叉验证 就是将数据集等比例划分成 K 份 以其中的一份作为测试数据 其他的 K 1 份数据作为训练数据 然后 这样算是一次实验 而 K 折交叉验证只有实验 K 次才算完成完整的一次 也就是说交叉验证实际是把实验重复做了 K 次 每次实验都是从 K 个部分选取一份不同的数据部分作为测试数据 保证 K 个部分的数据都分别做过测试数据 剩下的 K 1 个当作训练数据 最后把得到的 K 个实验结果进行平分

    2026年3月17日
    1
  • ES系列之嵌套文档和父子文档

    ES系列之嵌套文档和父子文档需求背景很多时候 mysql 的表之间是一对多的关系 比如订单表和商品表 一笔订单可以包含多个商品 他们的关系如下图所示 ElasticsSear 以下简称 ES 处理这种关系虽然不是特别擅长 相对于关系型数据库 因为 ES 和大多数 NoSQL 数据库类似 是扁平化的存储结构 索引是独立文档的集合体 不同的索引之间一般是没有关系的 不过 ES 目前毕竟发展到 7 x 版本了 已经有几种可选的方式能

    2026年3月19日
    1
  • .NET MVC简单介绍

    .NET MVC简单介绍ASP.NetMVC简介什么是ASP.NetMVC?HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net

    2022年7月4日
    28
  • jboss版本查询_趣步2.0.7版本下载

    jboss版本查询_趣步2.0.7版本下载JBoss在2006年被RedHat收购。在各种J2EE应用服务器中,JBoss是最受欢迎而且功能最为强大的应用服务器。不过JBoss从8.0开始改名为WildFly,这个新名称在我看来似乎并不朗朗上口。在折腾JavaEE的配置时,新增一个Server,发现JBoss最多只到JBossv5.0,官网上明明已经更新到7.1了,为何这里只显示这么古老的版本,而且我用的是Eclipse

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号