8.1、字典:

1、字典元素用大括号括起来,用逗号分割每个元素,字典元素是"key:value"的形式

dic = {

"k1": 'v1', #键值对

"k2": 'v2'

}

2、字典的特点:

(1)字典元素key的值是唯一的,可变数据类型不可作为字典的key,

"列表"、"字典"、"集合"、不能作为字典元素的key

(2)字典元素"value"的数据类型可以是任意的

(3)字典元素"value"可以嵌套任何数据类型

(4)字典元素"value"可以重复

(5)字典是可变的数据类型(可以增加,删除,修改元素)

(6)字典元素是有序排列的

(7)字典元素可以使用for循环进行遍历

8.2、字典用法:

info = {

"k1": 18,

2: True,

"k3": [

11,

[],

(),

22,

33,

{

'kk1': 'vv1',

'kk2': 'vv2',

'kk3': (11,22),

}

],

"k4": (11,22,33,44),

True: "123",

(11,22): 123

}

1、根据序列,创建字典,并指定统一的值:

v = dict.fromkeys(["k1",123,"999"],123)

print(v)

2、根据Key获取值,当key不存在时返回指定的值,默认值是None:

v = info.get('k12',100)

print(v)

3、根据key删除value值,并获得该值,当key不存在时返回指定的值:

dic = {

"k1": 'v1',

"k2": 'v2'

}

v = dic.pop('k1',100)

print(dic,v)

k,v = dic.popitem()

print(dic,k,v)

#删除最后一个key-value值

4、设置值:

已存在,不设置,获取当前key对应的值

不存在,设置,获取当前key对应的值

dic = {

"k1": 'v1',

"k2": 'v2'

}

v = dic.setdefault('k3','123')

print(dic,v)

5、更新字典,key存在不设置,key不存在设置:

dic = {

"k1": 'v1',

"k2": 'v2'

}

dic.update({'k1': '111111','k3': 123})

print(dic)

#dic.update(k1=123,k3=345,k5="asdf")

#print(dic)

6、索引方式找到指定元素:

v = info['k1']

print(v)

v = info['k3'][5]['kk3'][0]

print(v)

7、字典支持 del 删除:

del info['k1']

del info['k3'][5]['kk1']

print(info)

8、通过for循环遍历字典中的元素:

(1)遍历key值:

for item in info.keys():

print(item)

(2)遍历key对应的value值:

for item in info.keys():

print(item)

(3)同时遍历key值和key对应的value值:

for k,v in info.items():

print(k,v)

9、小结,常用方法:

get/update/keys/values/items

判断key值是否在字典中

dic = {

"k1": 'v1'

}

v = "k1" in dic

print(v)

最新文章

  1. supervisor使用详解
  2. 新手接触java
  3. 配置域名服务器报错named[822]: dns_rdata_fromtext /etc/bind/db.asertest.com mail not a valid number
  4. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数
  5. 大家来找茬-SpringMVC中Tomcat正常启动,始终访问不了Controller,出404错
  6. GO的GDB调试
  7. TC基础使用指南(基于xbeta的TC配置文件)
  8. HDU多校练习第一场4608——I_Number
  9. Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理
  10. Allegro pcb -等长设计
  11. Cocos2d-X 精灵、动作效果
  12. 21.jQuery
  13. Fork/Join框架详解
  14. python中的Iterable对象和Iterator
  15. Jqgrid pager 关于“local” dataType 动态加载数据分页的研究(没好用的研究结果)
  16. 数据库隔离级别深入理解(ORACLE)
  17. 在Java API设计中,面向接口编程的思想,以及接口和工厂的关系
  18. MS-Office使用技巧
  19. [SQLSERVER] [GPO] Add the Log on as a service Right to an Account
  20. 转: 基于elk 实现nginx日志收集与数据分析

热门文章

  1. [转载]层叠与并排win10
  2. 【转载】linux-查询rpm包相关安装、卸载脚本
  3. Alien 魔法:RPM 和 DEB 互转
  4. 安全漏洞扫描工具 burpsuite V1.7.32 资料
  5. crontab 的简要介绍
  6. CyclicBarrier分析
  7. 201871030138-杨蕊媛 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
  8. CVPR2020:视觉导航的神经拓扑SLAM
  9. thymeleaf+Springboot实现自定义标签
  10. Linux基础_vim命令