python基础-字典(8)

一、字典介绍

字典和列表一样,也是存储多个数据的容器,只不过存储和读取的方式不同

字典的语法格式: 字典名 = {key1 : value1,key2:value2,key3:value3,……}

说明:

  • 列表中找某个元素时,是根据下标进行的
  • 字典中找某个元素时,是根据’key’
  • 列表使用[]表示,字典使用{},表示
  • key和value之间使用冒号而不是等号
  • 多个键值对之间使用逗号隔开
  • 字典中key要唯一,不能重复

二、字典的基本操作

1、根据key读取value的值

nameDic = {"a":"张三","b":"李四","c":"王五"}
name1 = nameDic["a"]
name2 = nameDic["b"]
print(name1)
print(name2)

运行结果为:张三、李四

2、修改元素的值

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameDic["a"] = "侯七"
print(nameDic)

运行结果为:{'a': '侯七', 'b': '李四', 'c': '王五'}

3、增加元素

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameDic["e"] = "侯七"
print(nameDic)

运行结果为:{'a': '张三', 'b': '李四', 'c': '王五', 'e': '侯七'}

说明:

  • 如果使用 变量名[‘键’] = 数据 时,这个“键”不存在,就会新增这个元素
  • 如果使用 变量名['键'] = 数据 时,这个“键”存在,就是修改元素的值

4、del 删除元素

nameDic = {"a":"张三","b":"李四","c":"王五"}
del nameDic["c"]
print(nameDic)

运行结果为:{'a': '张三', 'b': '李四'}

del 如果跟上具体的key的名字,就是删除这一对键值对,如果没有根据的key,而是只是跟字典名,意味着全部删除,删除之后就不可以在使用

5、clear( )

nameDic = {"a":"张三","b":"李四","c":"王五"}
print("清空前,%s"%nameDic)
nameDic.clear()
print("清空后,%s"%nameDic)

运行结果为:

清空前,{'a': '张三', 'b': '李四', 'c': '王五'}
清空后,{}

6、len() :测量字典中,键值对的个数

nameDic = {"a":"张三","b":"李四","c":"王五"}
num = len(nameDic)
print(num)

运行结果为:3

7、keys: 返回一个包含字典所有KEY的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
keysList = nameDic.keys()
print(keysList)

运行结果为:dict_keys(['a', 'b', 'c'])

8、values 返回一个包含字典所有value的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
valuesList = nameDic.values()
print(valuesList)

运行结果为:dict_values(['张三', '李四', '王五'])

9、items 返回一个包含所有(键,值)元组的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameItems = nameDic.items()
print(nameItems)

运行结果为:dict_items([('a', '张三'), ('b', '李四'), ('c', '王五')])

三、字典的遍历

1、遍历字典的key(键)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for key in nameDic.keys():
    print(key)

运行结果为:a,b,c,d

2、遍历字典的value(值)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for value in nameDic.values():
    print(value)

运行结果为:张三、李四、王五、赵六

3、遍历字典的项(元素)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for item in nameDic.items():
    print(item)

运行结果为:('a', '张三')、('b', '李四')、('c', '王五')、('d', '赵六')

4、遍历字典的key-value(键值对)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for key,value in nameDic.items():
    print("key=%s,value=%s"%(key,value))

运行结果为:

key=a,value=张三
key=b,value=李四
key=c,value=王五
key=d,value=赵六

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端讲堂

【拒绝拖延】常见的JavaScript内存泄露原因及解决方案

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就...

7530
来自专栏PHPer技术栈

PHP7.+系列新特性和新变更

组合比较符号用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1,比较规则延续常规比较规则。对象不能进行比较

12830
来自专栏江湖安得便相忘

一起学Rust-枚举

枚举的定义在其他许多的语言中都有实现,举例来说,比如C中的枚举,枚举值在未赋值的情况下默认从0开始递增或从上一个枚举值开始递增,值类型可以是整数或字符类型,实质...

19250
来自专栏须臾之余

布隆过滤器redis缓存 顶

Bloom Filter布隆过滤器 算法背景 如果想判断一个元素是不是在一个集合里,一般想到的是将集合中所有元素保存起来,然后通过比较确定。链表、树、散列表...

20920
来自专栏前端讲堂

带领前端小伙伴重温「Git Flow Workflow」

关于Git Flow 工作流,我想已经是老生常谈的话题了,但是今天我不得不来重温一下 Git Flow 工作流。当我看的代码厂库的时候,我已经开始怀疑人生。乱七...

8350
来自专栏江湖安得便相忘

一起学Rust-实战leetcode(一)

先理清思路,首先根据题目,不使用重复元素,假设只存在一个正确答案,最简单直接的思路,就是两层循环,逐个相加判断是否等于target的值,如果相等,则返回相应的索...

13740
来自专栏java思维导图

使用jwt技术实现系统间的单点登录

https://blog.csdn.net/jewelry008/article/details/72771489

37240
来自专栏云端漫步

go语言map

map是一种常用的数据存储结构,也叫HashMap, 散列表,字典等。通过键,可以快速的访问所存储的值。

9130
来自专栏vue的实战

v-distpicker 省市区插件的使用

23630
来自专栏PHPer技术栈

MySQL 性能优化——B+Tree 索引

为了快速查询数据,MySql 在查询算法上进行了许多优化。但是就如二叉树查找算法只能应用于二叉树数据结构一样,需要有满足这种查找算法的数据结构,而数据本身的结构...

12630

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励