一、字典介绍

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

字典的语法格式: 字典名 = {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. mysql 数据库的备份和还原

    1. 逻辑备份 (和存储引擎无关) mysqldump -uroot -p schoolDB TSubject > /mysqlbackup/schoolDB.TSubject.sql  (备份 ...

  2. mysql的orde by 按照指定状态顺序排序

    要求按照以下顺序排序 审核中->审核拒绝->待放款->放款失败->待还款->已结清->已逾期 { id:80, label:'审核中'},{ id:100, lab ...

  3. 打开手机模拟器后adb devices查看不到设备连接

    1.找到sdk\platform-tools目录下的adb.exe,将该adb.exe复制到模拟器安装目录下覆盖模拟器自带的adb.exe就可以了.

  4. oracle控制台命令

    sqlplus /nolog --  无密码登陆 sqlplus "/as sysdba" -- 以管理员身份登录 shutdown immediate;  --关闭数据库 sel ...

  5. 通过TensorFlow训练神经网络模型

    神经网络模型的训练过程其实质上就是神经网络参数的设置过程 在神经网络优化算法中最常用的方法是反向传播算法,下图是反向传播算法流程图: 从上图可知,反向传播算法实现了一个迭代的过程,在每次迭代的开始,先 ...

  6. windows安装zookeeper

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  7. formated time string for file naming

    #include <stdio.h> #include <time.h> int main() { time_t rawtime; struct tm *timeinfo; ] ...

  8. webapi使用swagger出现“Cannot read property 'parameters' of null”

    前端时间在webapi项目使用swagger来提供接口文档及测试工具,按网上方法(http://wmpratt.com/swagger-and-asp-net-web-api-part-1)配置好之后 ...

  9. 数值计算 的bug:(理论)数学上等价,实际运行未必等价

    1. 计算表达式的值(lambda 表达式) fun1 和 fun2 理论上是等价的:同样的输入情形下,两种输出结果不一致. # fun1 定义 fun1=lambda x:sqrt(x+1)-sqr ...

  10. MySQL优化技巧

    目录 MySQL的特点 数据类型优化 整型类型 小数类型 字符串类型 时间类型 主键类型的选择 特殊类型的数据 索引优化 一个使用Hash值创建索引的技巧 前缀索引 多列索引 聚簇索引 覆盖索引 重复 ...