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=赵六
python基础-字典(8)的更多相关文章
- python基础--字典
Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...
- python基础—字典
阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...
- python基础——字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...
- Python基础:字典(dict)与集合(set)
查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...
- python基础——字典
字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 ...
- python 基础 字典
字典操作 字典一种key - value 的数据类型 特性: 无顺序 去重 查询速度快,比列表快多了 比list占用内存多 语法: info = { 'abc001': "Ben" ...
- Python基础--字典:当索引不好用时
当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...
- Python基础——字典和有序字典
字典 说明: 在 Python 中, 字典 是一系列 键 — 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Pyt ...
- python基础——字典dict
1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...
- Python基础——字典(dict)
由键-值对构建的集合. 创建 dic1={} type(dic1) dic2=dict() type(dic2) 初始化 dic2={'hello':123,'world':456,'python': ...
随机推荐
- EF + mysql 异常:Unable to load the specified metadata resource
数据库连接字符串报错, <add name="xxxx" providerName="MySql.Data.MySqlClient" connection ...
- STS中db.properties配置文件
db.name=root db.password=root db.url=jdbc:mysql://localhost:3306/day13?useUnicode=true&character ...
- Idea如果添加Maven模块
1.要创建一个和heaton-app同级的Maven模块,如果所示 2.点击下一步,添加ArtifactId,其中 groupId : 定义了项目属于哪个组,举个例子,如果你的公司是myc ...
- idea设置utf-8
- 【Selenium】【BugList10】smtp发送邮件问题汇总:550/535/554
[场景] 通过126邮箱向QQ邮箱发送HTML格式邮件 [代码1] from email.mime.text import MIMEText from email.header import Head ...
- python 调用shell hive sql
def generate_csv_source(data_file): #判断文件是否存在 if not os.path.exists(data_file): # 拉取hive表数据 cmd_sql ...
- 组件内守卫beforeRouteEnter和beforeRouteLeave
beforeRouteEnter用法和其他守卫差不多. 有个注意的地方就是beforeRouteEnter不能用this获取组件内收据. 在next()方法内存入vm这个参数,获取组件内数据. bef ...
- git遇到的问题-- Another git process seems to be running in this repository
执行git add .时,报错 fatal: Unable to create '/Users/lily/ForWork/forReBaomai/bm-fe/.git/index.lock': Fil ...
- 浅谈Spring中的IOC容器
一.IOC.DI基本概念 IoC(Inversion of Control)控制反转指的是把对象的创建,初始化,销毁等工作交给容器来做.由容器控制对象的生命周期(传统方式中是由我们程序员主动创建对象. ...
- Linux下好用的屏幕录像软件kazam及截图软件shutter
都是apt直接安装即可使用. 其中kazam默认保存的文件格式是avi,非常大,通常录制几十秒就已经好几个G,导致录制过程太占用资源,会出现卡顿的现象. 在“首选项”中可以选择输出格式为mp4,文件就 ...