一、字典介绍

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

字典的语法格式: 字典名 = {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. Numpy 线性代数

    Numpy 提供了线性代数库 linalg , 该库包含了线性代数所需的所有功能,可以看卡下面的说明: 函数 描述 dot 两个数组的点积, 即元素对应相乘 vdot 两个向量的点积 inner 两个 ...

  2. hbase_存储模型

    Hbase 是按列存储,所以每个列族存储在一个HDFS文件上. Hbase表中的行是按照rowkey字典序进行排列的,并且表格在行的方向上被分割为多个region(按照行进行分割的) region 是 ...

  3. TCP两次握手

    TCP的三次握手已经说烂了,TCP为何要三次握手?为何不两次握手也有很多说法.对于这些类似的问题,最好的办法是看RFC 常规思路,由面到点 两军问题 在不可靠通信下,两军想要达到状态一致是无解的.因为 ...

  4. # 2019-2020-4 《Java 程序设计》第六周总结

    2019-2020-4 <Java 程序设计>第六周知识总结 第七章:内部类与异常类 1.内部类 (1)类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:内部类. (2)java ...

  5. appium解决每次运行都需要安装Unlock以及AppiumSetting的问题

    这是我用appium遇到的第三个坑?之前因为环境的问题,chromedriver驱动总是安装不对,后来发现是因为路径的原因.解决之后,现在出现新的问题,那就是“appium每次运行都要去重新安装Unl ...

  6. 1.3if判断语句+while和for循环语句+购物车作业

    1.if 语句 if userame=_usename and password=_password: print("welcome user {name} login..."). ...

  7. input type='file'文件上传自定义样式

    使用场景: 在未使用UI库时免不了会用到各种上传文件,那么默认的上传文件样式无法达到项目的要求,因此重写(修改)上传文件样式是必然的,下面的效果是最近项目中自己写的一个效果,写出来做个记录方便以后使用 ...

  8. SolrCloud的搭建与稳定性测试

    转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html 一.集群搭建 1. zookeeper搭建(版本:3.4) 1.1 zoo.cfg配置文件: ...

  9. .Net异步实例讲解

    说起异步,Thread,Task,async/await,IAsyncResult 必须掌握 1.线程(Thread) 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行:对于比较耗时的操作( ...

  10. 画PCB

    1.AD16Design中Boardshape没有redefine board shape选项来修改板子的形状:{ 解决办法:在英文输入模式下按“1”键整个界面会变绿,此时就会有redefine bo ...