Python集合&字典

@

字典

字典的几种定义方式

第一种

字典{key1 : value1, key2 : value2, ......}

dict1 = {'one': 1, 'two': 2}

第二种

使用工厂函数,用元组操作。

dict2 = dict(((1,2), (3, 4), (5, 6), (7,8)))

需要用到这么多括号的原因:

  • 第一层括号是dict的括号,里面需要一个元素。
  • 第二层括号就是为了把四个元组变成一个对象给dict
  • 第三层括号是元组的括号

第三种

还是使用工厂函数dict,但是是用"="操作

字典dict(key1 = value1, key2 = value2, ......)

dict3 = dict(one = 1, two = 2, three = 3)

键值key不能随便改格式,解释器会自动将键值转换为字符串存储。

字典的一些基本操作

通过key得到value

value = dict3[key]
value = dict3.get(key)

增加字典键值对

dict3[new_key] = new_value
dict3.update(dict2)

此时Python会自动创建键值对

删除字典键值对

dict3.pop(key)

会返回与之对应的键值

格式化操作

dict4.formkeys((1, 2, 3),'num')

新建一个字典dict4然后所有的key都对应'num'

清空字典

辨析dict3 = {}dict3.clear

前者是把dict3指向一块新的内存,不再管原来的字典,若原来的地址未被其它引用指向,将会被Python的垃圾自动回收机制清空,如果有引用,将不会被清空。

后者是直接将dict3指向的那块内存清空。

复制字典

辨析dict4 = dict3dict4 = dict3.copy

前者并未开辟一块新内存,后者开辟了,底层原理同上,懂得都懂。

遍历字典

遍历key

for eachkey in dict3.keys():
print(eachkey)

遍历value

for eachvalue in dict3.values():
print(eachvalue)

遍历键值对

for eachitems in dict3.items():
print(eachitems)

成员资格判断

key in dict3

返回值为bool类型

集合

集合的定义方式

num = {1, 2, 3, 6, 8, 7, 4, 9, 10, 16, 17, 14, 2, 4}

用大花括号即可定义

往集合里面添加元素

num.append(10)

集合里面删除元素

num.pop()
##随机删除一个
num.remove(4)
##删除4

注意:集合会自动排序,操作时要注意。

Python集合&字典的更多相关文章

  1. Python集合字典运算符

    1.集合2.字典3.运算符优先级 1.集合 创建:{} set([]) 注意:创建空的集合要用set()   特点:元素唯一,无序   运算: & 交集 | 并集 - 差集   方法:   s ...

  2. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  3. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  4. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  5. 深入Python(1): 字典排序 关于sort()、reversed()、sorted()

    http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...

  6. python集合可以进行相减

    python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...

  7. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  8. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...

  9. python中字典排序

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

随机推荐

  1. NOIP模拟79

    T1 F 解题思路 因为每个点会产生贡献当且仅当它在可以到他的点之前被删除,并且此题遵守期望的线性性. 因此设所有可以到达点 \(i\) 的数量为 \(c_i\) 那么答案就是 \(\sum \fra ...

  2. mysql update语句的执行流程是怎样的

    update更新语句流程是怎么样的 update更新语句基本流程也会查询select流程一样,都会走一遍. update涉及更新数据,会对行加dml写锁,这个DML读锁是互斥的.其他dml写锁需要等待 ...

  3. 更好的 java 重试框架 sisyphus 入门简介

    What is Sisyphus sisyphus 综合了 spring-retry 和 gauva-retrying 的优势,使用起来也非常灵活. 为什么选择这个名字 我觉得重试做的事情和西西弗斯很 ...

  4. 【Java虚拟机6】Java内存模型(Java篇)

    什么是Java内存模型 <Java虚拟机规范>中曾试图定义一种"Java内存模型"(Java Memory Model,JMM)来屏蔽各种硬件和操作系统的内存访问差异, ...

  5. Noip模拟66 2021.10.2

    T1 接力比赛 思路就是直接做背包$dp$,然后看看容量相同的相加的最大值. 考虑如何在$dp$过程中进行优化 注意到转移方程的第二维枚举容量没有必要从容量总和开始枚举 那么我们便转移边统计前缀和,从 ...

  6. Noip模拟43 2021.8.18

    T1 地一体 可以树形$dp$,但考场没写出来,只打了没正确性的贪心水了$30$ 然后讲题的时候B哥讲了如何正确的贪心,喜出望外的学习了一下 不难发现 每次士兵都会直接冲到叶子节点 从深的点再返回到另 ...

  7. ip_local_port_range 和 ip_local_reserved_ports

    问题:启动应用程序时,发现网络端口被占用,原因是什么?如何避免? 原因:Linux 系统设置了随机使用的端口范围  echo "40000  60000" > /proc/. ...

  8. 手写vue-router & 什么是Vue插件

    博文分享 这篇文章你可以学习到: 实现一个自己的vue-router 了解什么是Vue的插件 学习b站大佬后做的笔记整理和源码实现 1.1.3一步一步带你弄懂vue-router核心原理及实现哔哩哔哩 ...

  9. caffe的idx1-ubyte和idx1-ubyte文件转换成图片文件和文本文件

    train-images-idx3-ubyte : training set images train-labels-idx1-ubyte   : training set labels t10k-i ...

  10. MVC +Jqyery+Ajax 实现弹出层提醒

    CSS部分: /*登录提示*/ * {margin: 0; padding: 0; } .layer { width: 350px; padding: 20px; background: #fff; ...