python --- 05 字典 集合
一、字典
可变数据类型
{key:value}形式 查找效率高 key值必须是不可变的数据类型
1.增删改查
1).增
dic["新key"] = "新value" 追加新元素
dic.setdefault(新key,新value) 如果key存在 不添加
如果key不存在, 添加{新key:新value}
2).删
.pop("key") 关键字删除
.popitem() 删除最后一项(早期时字典是无序的,就是随机删除一项)
del dic["key"] 索引和切片删除
dic.clear() 清空
3).改
dic.["老key"] = "新value"
dic.update(dic1) 更新 把dic1中的内容更新到dic中
4).查
① dic[key] 关键字查找 没有时报错
② .get(key) 没有时返回 None
.get("key",没有这个) 没有时返回“没有这个”
③ .setdefault(key,value)
key存在时, 把 老value 查出来
key不存在时,添加 新的key和value, 并查出来
5).其他操作
.key() 获取所有的key值
.value() 获取所有的value值
.items() 获取所有的 键值对
2.dic的遍历 for循环
遍历字典两套方案
dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
①. 使用for循环直接遍历字典的key
for key in dic:
print(key)
print(dic[key])
②. 可以使用字典的items()+解构可以直接获取到key和value(解包)
for k, v in dic.items():
print(k)
print(v)
二、集合 set() { } 表示
本事是无序的、不重复的、可变的、 不可哈希的 。
1.内部元素是不可变的 ,因此不可嵌套 。 是一种只含key的字典。
2. ① 没有索引和切片
②增
.add("x")
.update({"xx"}) 添加元素 "xx"
.update("xx") 添加两个元素 "x"
③删
.pop() 随机删除一个
.remove("x") 指定删除
④改 先删后加
⑤查 for循环
⑥交集 s1 & s2
s1.intersection(s2)
⑦差集 s1 - s2
s1.differrence(s2)
⑧并集 s1 | s2
s1.union(s2)
⑨反交集 s1 ^ s2
s1.symmetric_difference(s2)
⑩ s = frozenset(set()) 把集合变成 不可变 的
python --- 05 字典 集合的更多相关文章
- python :列表 字典 集合 类 ----局部变量可以改全局变量
#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...
- python之路---05 字典 集合
二十.字典 可变数据类型 {key:value}形式 查找效率高 key值必须是不可变的数据类型 1.增删改查 1).增 dic["新key"] = "新v ...
- python元组-字典-集合及其内置方法(下)
列表补充 补充方法 清空列表 clear # clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # ...
- python 07 字典 集合
字典 key:value 键:值 映射,哈希值,关系(数组) x=['1','2'] y=['a','b'] >>print(y[x.index('1')]) a index() 函数用于 ...
- python 05—字典
一.字典的键是唯一的 键:简单对象,例[字符串.整数.浮点数.bool值] list不能作为键,但可以作为值. 例: score = { '萧峰' : 95, '段誉' : 97, '虚竹' : 89 ...
- python 05 字典
[TOC] 字典——dict { } 字典是无序,可变的数据类型. 字典:用于存储数据,存储大量数据,字典要比列表快:将数据和数据之间进行关联. 1. 定义: dic = {键:值,键:值} #每 ...
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python --->字典 集合 学习笔记
1.字典--->创建空字典:dict={} broa=["李宁",”耐克“,“阿迪达斯”,“鱼c工作室”] sloga=[“A”,“B”,“C”,“D”] dict={&qu ...
随机推荐
- AI案列 三条路
在生成点生成带有颜色的小球,小球走对应颜色的路 先做好三个小球,做成预制体 对应颜色的小球,除了自身颜色,其他颜色不要选 新建脚本: using System.Collections; using S ...
- Javascript-可莱托指数判断
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Oracle与MySQL的比较[内容来自网络]
支持的特性方面的比较: https://www.quora.com/Whats-the-difference-between-Oracle-and-MySQL oracle和mysql在 安全,数据类 ...
- HAProxy实现mysql负载均衡
安装 yum install haproxy 修改配置 vi /etc/haproxy/haproxy.cfg 配置如下 global daemon nbproc 1 pidfile /var/r ...
- Unity shader学习之切线空间下计算凹凸映射
切线空间,即使用顶点的切线作为x轴,法线作为z轴,法线与切线的叉积作为y轴. 使用切线空间存储法线,使得法线纹理可以复用,很好. 在切线空间中计算光照,比在世界空间中计算光照少了很多计算量.在切线空间 ...
- URL List by Category
URLs List AI https://www.cnblogs.com/zlel/p/8882129.html Javascript Promise http://liubin.org/promis ...
- 4.构造Thread对象你也许不知道的几件事
1.Thread类对象只有在调用了start()方法之后,JVM虚拟机才会给我们创建一个真正的线程!否则就不能说是创建了线程!也就是说new Thread()之后,此时实际上在计算机底层,操作系统实际 ...
- CocoaPod 使用(I)
1. 添加一个 Podfile 文件 在终端先找到你要放入 Podfile 的文件路径: cd 文件路径 cd /Users/XXX/Desktop/RAC 然后敲入: pod init 就会给你建立 ...
- OpenCV学习笔记(一) - 边界填充、Rect函数
边界填充: c++实现,测试在mac pro里,输入720p时间0.4ms: cv::copyMakeBorder(image, dst, , , , , cv::BORDER_REPLICATE); ...
- django中orm的批量操作
ORM批量操作 数据模型定义 from django.db import models class Product(models.Model): name = models.CharField(max ...