python 05 字典
[TOC]
字典——dict { }
字典是无序,可变的数据类型。
字典:用于存储数据,存储大量数据,字典要比列表快;将数据和数据之间进行关联。
1. 定义:
dic = {键:值,键:值} #每个 键值对 以逗号分隔成一个元素
字典的值: 可以是任意的数据类型。
字典的键:必须是可哈希的——不可改变的数据类型;要求键唯一,如果有重复的,则后面的值会把前面的值覆盖掉。
(注:可哈希的 -- 不可变的数据类型(数字、字符串、布尔值) -- 避免哈希冲突使用了 “开放寻址法” )
(不可哈希的 -- 可变的数据类型 (列表、字典) )
2. 增:
dic = {"a":10,"b":20,"c":30}
dic["键"] = 值 # 暴力添加
dic["d"] = 40
dic.setdefault(键,值) # 通过键去字典中查询,如果键不存在执行添加,如果键存在则不会添加
dic.setdefault("c",40) # "c" 存在,不添加
dic.setdefault("f",40) # "f"不存在,添加到字典
3. 删:
del dic["a"] # 通过字典的键,删除键值对
dic.pop("b") # 通过字典的键,删除键值对,有返回值,返回的是被删除的值
dic.clear() # 清空字典
4. 改:
dic["b"] = 200 #字典中没有此键值对的时候就是添加,当键在字典中存在的时候就是修改 # "有则改,无则加"
dic.update(dic1) # 更新,里面必须放字典。update括号中的字典(dic1)级别高于前面的字典(dic)
# 运行:先将具有相同键的内容覆盖,再在字典末尾添加dic没有的键值对
5. 查:
for i in dic:
print(i) # for 循环获取的是键值对的键
dic.get(键) # 通过键获取值,如果键不存在字典中会返回 None
dic[键] # 通过键获取值,如果键不存在字典中会报错!
6. 其他操作:
dic = {"a":1,"b":2,"c":3}
# 1.
for i in dic:
print(i,dic.get(i)) # 循环输出所有的键和值 a 1 b 2 c 3
# 2. keys() 所有的键
print(dic.keys()) # 高仿列表,获取的是字典中所有的键 -- dict_keys(['a', 'b', 'c']) 支持for循环 不支持索引
for i in dic.keys():
print(i) # 循环输出所有的键 a b c
print(dic.keys()[0]) # 报错 'dict_keys' object does not support indexing(不支持索引)
# 3. values() 所有的值
print(dic.values()) # 高仿列表,获取的是字典中所有的值 ——dict_values([1, 2, 3])
print(list(dic.values())) # 获取的是字典中所有的值,转换成 真的列表
# 4. items() 所有的键和值
print(dic.items()) # 高仿列表,获取的是字典中所有的键和值,存放在元组中 ——dict_items([('a', 1), ('b', 2), ('c', 3)])
for i in dic.items():
print(i[0],i[1]) #将键和值从元组中循环打印出 a 1 b 2 c 3
# 5. 将字典中的值放到列表中
lst = []
for i in dic:
lst.append(dic[i])
print(lst)
7. 解构:
a = 10
b = 20
a,b = b,a
print(a,b) # 实现a,b数字的交换,列表、元组都可以
a,_,b = (3,4,5)
print(a,b) # 3 5 等号后边的值和前面的变量名要一一对应(假如只要a,b)
a = 10,12 # 本质就是一个元组
print(a) # (10,12)
a,b = "23"
print(a,b) # 2 3
a,b = {"1":"a","2":"b"}
print(a,b) #输出 1 2(键)
for i in dic.items():
print(i) # 获取的是每个元素,结果:(键,值)
for k,v in dic.items():
print(k,v) # 获取每个元素的键和值
8. 字典的嵌套:
查找的时候一次一次的通过键查找。
dic[键]
dic = {1001:["周杰伦","林俊杰"],
1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}}}
print(dic[1002]["汪峰"]["前妻2"][1]) # 熊二
python 05 字典的更多相关文章
- python 05—字典
一.字典的键是唯一的 键:简单对象,例[字符串.整数.浮点数.bool值] list不能作为键,但可以作为值. 例: score = { '萧峰' : 95, '段誉' : 97, '虚竹' : 89 ...
- python --- 05 字典 集合
一.字典 可变数据类型 {key:value}形式 查找效率高 key值必须是不可变的数据类型 1.增删改查 1).增 dic["新key"] = "新va ...
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- Python的字典
1. Python的字典 1.1. 字典的定义 在Python中,字典是一种key-value的数据类型,也是唯一的映射类型:字典还是另一种可变容器类型,且可存储任意类型对象,其中也可包括其他容器 ...
- Python的字典和JSON
Python的字典和JSON在表现形式上非常相似 #这是Python中的一个字典 dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'] ...
- python基础--字典
Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...
- Python dictionary 字典 常用法
Python dictionary 字典 常用法 d = {} d.has_key(key_in) # if has the key of key_in d.keys() ...
- python有序字典OrderedDict()
转python创建有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections " ...
- python:字典嵌套列表
Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...
随机推荐
- Linux版本划分——基于打包方式
基于Dpkg (Debian系) Debian GNU / Linux是一种强调使用自由软件的发行版.它支持多种硬件平台.Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- web设计_1_思路总览
核心思想:结构和样式分离 HTML与CSS 只有充分将页面核心内容和外观设计相分离而获得的灵活性,才能顺利构建出能够满足每个web用户需要的最佳设计方案. 核心要求:灵活性 适应不同的浏览器,适应各种 ...
- Linux升级GCC
升级原因 测试需要使用DOClever,下载了最新的node8.11,运行node 时候报错 [root@app_test bin]# node www module.js:681 return pr ...
- Restful API 中的错误处理
简介 随着移动开发和前端开发的崛起,越来越多的 Web 后端应用都倾向于实现 Restful API. Restful API 是一个简单易用的前后端分离方案,它只需要对客户端请求进行处理,然后返回结 ...
- 在表格中添加text便加框
private void createTableText(Table table) { TableEditor editor = new TableEditor(table); for (int i ...
- CentOS系统故障 | 一桩"血案"引发的容器存储驱动比较
写在前面: 由于红帽在Linux界的影响力,相信很多朋友在测试和生产系统用的是RedHat或者CentOS系统,这次我在CentOS系统上遇到了一个很有意思的故障,通过这次故障的原因分析及解决,特意写 ...
- DataOps系列丨数据的“资产负债表”与“现状”
作者:DataPipeline CEO 陈诚 <跨越鸿沟>的作者Geoffrey Moore曾说“没有数据,运营企业就像一个又聋又瞎的人在高速上开车一样”.数据的价值从未像现在这样被企业重 ...
- HTML 第4章初始CSS3
什么是CSS? CSS全称为层叠样式表,通常又称为风格样式表. 引用CSS样式: 语法: <h1 styske="color:red;">style属性的应用</ ...
- Unity经典游戏教程之:弓之骑士
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...