1.字典

2.字典的方法

3.集合

4.集合的操作


1.字典

字典是Python唯一内置的映射类型, 字典表示一个任意对象的集合, 这些对象通过键进行索引, 它的键几乎是任意类型, 它必须是不可变的数据类型, 如字符串, 整型, 元组等. 字典在Python中属于散列类型, 是可变数据类型.在操作字典时可以使用键索引运算符 : dic[key]

返回顶部


2.字典的方法

操作分类 操作 描述
增操作    dic[key] = value 字典中没有key则添加键值对
字典中有key则修改其对应的值
dic.setdefault(key, value) 设置一个key对应的键值对
dic.fromkeys(s, value) 创建一个字典 字典的键分别是序列中的元素
每个键的值都是value
删操作     dic.pop(key) 根据给定的键删除这个键值对
dic.popitem() python36中删除最后一个键值对
python35及以下随机删除
del dic[key] 指定键来删除键值对
dic.clear() 清空字典中的所有键值对
改操作   dic[key] = value 给指定的键赋值, 如果这个键不存在则创建
dic.updata[d] 将字典d的所有键值对跟新到dic中,
如果d中的键在dic中存在, 则更新其值, 如果不存在则直接添加
查操作       dic[key] 获取指定键的值(key不存在时抛出异常)
dic.get(key[,value]) 获取指定键的值, 如果指定的键不存在, 不会报错, 会返回空或默认值value
dic.keys() 获取字典的所有键, 返回值类似于列表, 可迭代
dic.values() 获取字典的所有值, 返回值类似于列表, 可迭代
dic.items() 获取字典的所有键值对,返回值类似于列表, 列表的元素由元组组成
元组第一个元素是键, 第二个元素是键对应的值
dic.has_key(key) 判断字典中是否存在指定的键, 返回bool值(python3废除了, 用in成员运算符代替)

返回顶部

 1 # 创建一个字典
 2 dic ={"a":1,"b":2,"c":3,"d":4}
 3 # 为字典增加一个键值对: "e": 5
 4 dic['e']=5
 5 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'e': 5}
 6 # 为字典增加一个键值对: "f": 6
 7 dic.setdefault('f',6)
 8 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'e': 5, 'f': 6}
 9 # 创建一个字典dic2, 键是列表lst=["you", "me", "him"]中的元素, 每个键对应的值都是0
10 dic2 ={}
11 dic2.fromkeys(['you','me','him'],0)
12 print(dic2)# 结果为: {'you': 0, 'me': 0, 'him':0}

13 # 删除dic一个键值对: "e":5
14 dic.pop('e')
15 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'f': 6}

16 # 删除dic的最后一个键值对: 'f':6
17 dic.popitem()
18 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4}

19 # 删除字典dic2中的键值对: "me":0
20 del dic2['me']
21 print dic2 # 结果为: {'you': 0, 'him':0}

22 # 清空dic2中的所有键值对
23 dic2.clear()
24 print(dic)# 结果为: {}

25 # 给dic的键'd'赋值为666
26 dic['d']=666
27 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 666}

28 #将字典{'x': 110, 'y': 114, 'z': 120}更新到字典dic中
29 d ={'x':110,'y':114,'z':120}
30 dic.updata(d)
31 print(dic)# 结果为 {"a": 1, "b" :2, "c": 3, "d": 666, 'x': 110, 'y': 114, 'z': 120}

32 # 获取dic中键'a'对应的值
33 print(dic['a'])# 结果为: 1
34 print(dic.get('a'))# 结果为: 1

35 # 获取dic的所有键
36 print(dic.keys)# 结果为: dict_keys(['a', 'b', 'c', 'd', 'x', 'y', 'z'])

37 # 获取dic的所有值
38 print(dic.values())# 结果为:dict_values([1, 2, 3, 666, 110, 114, 120])

39 # 获取dic的所有键
40 print(dic.items())# 结果为: dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 666), ('x', 110), ('y', 114), ('z', 120)])

返回顶部


3.集合

集合是不同元素的无序集合, 与序列不同, 集合不提供索引或切片操作, 也不像字典提供键进行索引. 集合有() 表示.集合分为两种:set集合是可变的集合, frozenset是不可变的集合. 无论哪种集合, 集合中的元素必须是不可变的数据类型.

返回顶部


4.集合的操作

    (1)可变集合与不可变集合通用操作

项目 描述
s.different(t) 差集, 返回所有在s中, 不在t中的项
s.intersection(t) 交集, 返回s与t共有的元素
s.isdisjoint(t) 如果s和t没有相同项则返回True
s.issubset(t) 如果s是t的子集, 则返回True
s.issuperset(t) 如果s是t的一个超集, 返回True
s.union(t) 并集, 返回所有s和t的元素

返回顶部

    (2).可变集合专有方法(set)

项目 描述
s.add(itme) 将item添加到s中, 如果item存在, 则无效果
s.clear() 删除s中的所有元素
s.pop() 随机删除s中的某个元素, 并返回该元素
s.remove(item) 删除s中的指定元素, 如果item不存在, 则抛出KeyError异常
s.update() 将t中的元素添加到s中, t需要可迭代

返回顶部

转载于:https://www.cnblogs.com/Jermy/articles/10245232.html

1.5 基础数据类型 -- 字典与集合相关推荐

  1. Python基础数据类型之set集合

    Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...

  2. 刻意练习:Python基础 -- Task06. 字典与集合

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  3. 基础数据类型补充 set集合 深浅拷贝

    一.基础数据类型补充 1. "拼接字符串".join(可迭代对象) 可迭代对象为列表时,输出列表元素与拼接字符串的拼接 li = ['张三', '李四', '王五', '赵四'] ...

  4. 散列表的设计与实现_python基础之字典与集合实现

    更多内容,欢迎关注微信公众号: tmac_lover 上一篇介绍python中字典和集中时,提到,字典和集合的优势在于增删改查非常高效,而高效的原因就在于,python中字典和集合这两个数据结构是基于 ...

  5. python集合属性方法运算_Python基础__字典、集合、运算符

    之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合. 一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I ...

  6. python夯实基础日记-字典、集合、分支、循环

    43.字典_特点_4种创建方式_普通_dict_zip_formkeys 字典简介和特点 字典是"键值对"的无序可变序列,字典中的毎个元素都是一个"键值对",包 ...

  7. Python基础三--字典,集合,编码,深浅copy,元祖、文件操作

    字典 dict数据类型划分:可变数据类型,不可变数据类型不可变数据类型: 元组,bool值,int,str 可哈希可变数据类型: list,dict,set 不可哈希 dict key :必须是不可变 ...

  8. 7.python基础之基础数据类型--字典dict

    1.字典: 字典是python中唯一 的映射类型,采用键值对(key-value)的形式存储数据. 字典是无序存储的.且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. ...

  9. python彩票36选7_python基础数据类型补充

    python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...

最新文章

  1. java中静态方法可以被继承_关于java:静态方法中的继承
  2. 【iOS与EV3混合机器人编程系列之中的一个】iOS要干嘛?EV3能够更酷!
  3. 计算机中缺少d3dx9_35.dll,d3dx9_35.dll丢失怎么办-d3dx9_35.dll丢失的解决办法
  4. fast.ai 深度学习笔记:第一部分第一课
  5. ElementUI弹出新增窗口
  6. mysql function函数_详解MySQL如何按表创建千万级的压测数据
  7. C/C++宏的使用总结
  8. python数据结构与算法篇:排序
  9. python开发每月工资_做python开发想要月薪20K不会这些怎么行?
  10. 接连两天,持续霸榜 GitHub,这款 WiFi 开源神器我爱了!
  11. java 测试代码效率_JAVA程序的性能测试方法
  12. Ubuntu完全教程
  13. 排查cpu feature 缺少x2apic原因
  14. 验证码—基本功能实现02_点击重新获取验证码
  15. 电脑上的文件如何备份到服务器,怎么将电脑备份到云服务器
  16. 商品热销排行【项目 商城】
  17. 嵌入式linux开发uboot启动过程源码分析(一)
  18. dnf电脑服务器不稳定怎么办,电脑玩DNF经常卡顿是怎么回事?5步让你从此告别卡顿...
  19. 机器学习与知识发现_在机器学习中重新“发现”量子力学
  20. 如何将静态图制作成gif图?教你轻松完成gif制作

热门文章

  1. check的用法java_Java ChronoField checkValidValue()用法及代码示例
  2. java怎么申请变量_java怎么声明变量
  3. lambda表达式学习(详细理解 ) 重点在最后
  4. 关于ssm框架的整理(三) 2021-05-11
  5. img 居中_解决img标签下方出现的小空隙
  6. mysql plus baomidou_com.baomidou.mybatisplus.core.mapper 不存在
  7. java 怎么调用clojure_如何从Java调用Clojure宏?
  8. python继承属性_python继承,属性查找顺序
  9. php静态stitac,php静态static介绍
  10. 桥梁计算机辅助设计直接建模法,基于CATIA的大型桥梁三维建模方法