一、字典介绍

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

字典的语法格式: 字典名 = {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=赵六

python基础-字典(8)的更多相关文章

  1. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  2. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  3. python基础——字典(dict)

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...

  4. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  5. python基础——字典

    字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 ...

  6. python 基础 字典

    字典操作 字典一种key - value 的数据类型 特性: 无顺序 去重 查询速度快,比列表快多了 比list占用内存多 语法: info = { 'abc001': "Ben" ...

  7. Python基础--字典:当索引不好用时

    当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...

  8. Python基础——字典和有序字典

    字典 说明: 在 Python 中, 字典 是一系列 键 — 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Pyt ...

  9. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

  10. Python基础——字典(dict)

    由键-值对构建的集合. 创建 dic1={} type(dic1) dic2=dict() type(dic2) 初始化 dic2={'hello':123,'world':456,'python': ...

随机推荐

  1. MR执行环境有两种

    本地测试环境(windows): 在windows的hadoop目录bin目录有一个winutils.exe 1.在windows下配置hadoop的环境变量 2.拷贝debug工具(winutils ...

  2. appium sendkeys 输入数字丢失问题

    参考:https://blog.csdn.net/rainshine1190/article/details/82814503

  3. 【JavaWeb】防止表单的重复提交

    https://www.cnblogs.com/yfsmooth/p/4516779.html 看了以下别人给的总结: 客户端上防止提交: 1.js控制阻止 2.设置HTTP报头,控制表单缓存,使得所 ...

  4. lock(this)

    public void test(int i) { lock(this) { if (i > 10) { i--; test(i); } } } 网上答案说和参数有关.可是我把int  改成ob ...

  5. 51Nod - 1046 (附关于快速幂的讨论)

    题意: 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. 分析: 快速幂模板题. 快速幂: 1.自然数的拆分 对于任何的自然数, 可以把它用形如1001 ...

  6. 在datasnap 中使用unidac 访问数据(客户端)

    前面我们讲了如何使用unidac 在datasnap 的服务端访问数据库,今天大概讲一下客户端如何访问 前面做的服务器?其实这个客户端适合任何datasnap 服务端. 首先我们建一个应用,并加入一个 ...

  7. 关于U3D的.SDK对接

    1,SDK对接原理:https://www.cnblogs.com/msxh/p/7220741.html 2,Unity ADS对接:https://blog.csdn.net/chenluwolf ...

  8. font-size:0的妙用,用于解决inline或者inline-block造成的间隙

    1.图片间的缝隙(图片间的间隙一般是由换行.缩进造成的) <div> <img src="1.jpg"> <img src="2.jpg&q ...

  9. Maven学习笔记1(clean compile package install)

    Maven是一个项目构建管理工具,使用相应的命令 就可以快速完成项目的编译 打包. 1.下载maven,直接解压目录就可以了,配置maven的环境变量就可以在window下的任何文件夹下以命令的方式执 ...

  10. 关于Eclipse导入项目jsp出现红色叉的解决办法

    简单图解概括 右击项目 到这里就ok 如果没解决就检查下以下三个地方的版本是否一致 如果还不行,有什么疑问可以留言,我会及时帮助解决的