python基础刻意练习--Task 6 字典与集合
Day 8
一、字典
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值
key=>value
对用冒号:
分割,每个对之间用逗号,
分割,整个字典包括在花括号{}
中 ,格式如下所示:
diction = {key1 : value1, key2 : value2 }
- 键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
- 下面列举一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
# 或者
dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
1)访问字典里的值
- 访问字典中的值,我们需要把相应的键放入到方括号中,如下实例:
dict = {'Name': 'Tim', 'Age': 12, 'Class': 'No.1'}print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
'''
输出:
dict['Name']: Tim
dict['Age']: 12
'''
- 如果用字典里没有的键访问数据,会输出错误。
2)修改字典
- 向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
dict = {'Name': 'Jim', 'Age': 12, 'Class': 'No.1'}dict['Age'] = 17 # 更新 Age
dict['School'] = "高级中学" # 添加信息print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
'''
dict['Age']: 17
dict['School']: 高级中学
'''
3)删除字典的元素
- 能删单一的元素也能清空字典,清空只需一项操作。显示删除一个字典用del命令,如下实例:
dict = {'Name': 'Tim', 'Age': 12, 'Class': 'No.1'}del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典print ("dict['Age']: ", dict['Age'])
- 运行完后该词典将不复存在,所以最后输出会有错误。
4)字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。以下两个重要的点需要记住:
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict = {'Name': 'Tim', 'Age': 12, 'Name': 'Bob'}print ("dict['Name']: ", dict['Name'])
# dict['Name']: Bob
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
dict = {['Name']: 'Runoob', 'Age': 7}print ("dict['Name']: ", dict['Name'])
# 输出会出现错误!
5)字典内置函数和方法
- 字典包含了以下内置函数:
- 字典包含了以下内置方法:
二、集合
- 集合(
set
)是一个无序的不重复元素序列。 - 可以使用大括号
{ }
或者set()
函数创建集合,注意:创建一个空集合必须用set()
而不是{ }
,因为{ }
是用来创建一个空字典。 - 其创建格式为:
parame = {value01,value02,...}
或者
set(value)
1)创建一个集合:
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # {'banana', 'apple', 'pear', 'orange'}
- 使用
set(value)
工厂函数,把列表或元组转换成集合:
a = set('abracadabra')
print(a)
# {'r', 'b', 'd', 'c', 'a'}b = set(("Google", "Lsgogroup", "Taobao", "Taobao"))
print(b)
# {'Taobao', 'Lsgogroup', 'Google'}c = set(["Google", "Lsgogroup", "Taobao", "Google"])
print(c)
# {'Taobao', 'Lsgogroup', 'Google'}
- 两个集合之间也可以进行运算:
a = set('abracadabra')
b = set('alacazam')
print(a) # {'a', 'r', 'b', 'c', 'd'}
print(a - b) # {'r', 'd', 'b'} # 集合a中包含而集合b中不包含的元素
print(a | b) # {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} # 集合a或b中包含的所有元素
print(a & b) # {'a', 'c'} # 集合a和b中都包含了的元素
print(a ^ b) # {'r', 'd', 'b', 'm', 'z', 'l'} # 不同时包含于a和b的元素
2)访问集合中的值
- 可以使用
for
把集合中的数据一个个读取出来。
thisset = set(['Google', 'Baidu', 'Taobao'])
for item in thisset:print(item)# Baidu
# Google
# Taobao
- 也可以通过
in
或not in
判断一个元素是否在集合中已经存在。
thisset = set(['Google', 'Baidu', 'Taobao'])
print('Taobao' in thisset) # True
print('Facebook' not in thisset) # True
3)集合的内置方法
内置方法 | 方法描述 |
---|---|
set.add(elmnt)
|
用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。 |
set.remove(item)
|
用于移除集合中的指定元素。 |
set.update(set)
|
用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。 |
set.intersection(set1, set2 …)
|
用于返回两个或更多集合中都包含的元素,即交集。 |
set.union(set1, set2…)
|
返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。 |
set.difference(set)
|
返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。 |
set.issubset(set)
|
用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。 |
set.issuperset(set)
|
用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。 |
- 下面列举一些例子:
fruits = {"apple", "banana", "cherry"}
fruits.add("orange") # 添加元素
print(fruits)
# {'orange', 'cherry', 'banana', 'apple'}fruits = {"apple", "banana", "cherry"}
fruits.remove("banana") # 移除元素
print(fruits) # {'apple', 'cherry'}x = {"apple", "banana", "cherry"}
y = {"google", "baidu", "apple"}
x.update(y) # 修改元素
print(x)
# {'cherry', 'banana', 'apple', 'google', 'baidu'}a = set('abracadabra')
b = set('alacazam')
print(a) # {'r', 'a', 'c', 'b', 'd'}
print(b) # {'c', 'a', 'l', 'm', 'z'}
# 交集
print(a & b) # {'c', 'a'}
c = a.intersection(b)
print(c) # {'a', 'c'}
# 并集
print(a | b) # {'l', 'd', 'm', 'b', 'a', 'r', 'z', 'c'}
c = a.union(b)
print(c) # {'c', 'a', 'd', 'm', 'r', 'b', 'z', 'l'}
# 差集
print(a - b) # {'d', 'b', 'r'}
c = a.difference(b)
print(c) # {'b', 'd', 'r'}x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
z = x.issubset(y)
print(z) # True
x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b"}
z = x.issubset(y)
print(z) # Falsex = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y)
print(z) # True
x = {"f", "e", "d", "c", "b"}
y = {"a", "b", "c"}
z = x.issuperset(y)
print(z) # False
4)不可变集合
frozenset([iterable])
会返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。例如:
s = frozenset('basketball')
print(s)
# frozenset({'s', 'k', 't', 'e', 'l', 'a', 'b'})
备注:
学习参考资料:
https://www.runoob.com/python3/python3-set.html
https://mp.weixin.qq.com/s?__biz=MzIyNDA1NjA1NQ==&mid=2651011465&idx=1&sn=2f4a24746ed6c6d42e04f2434bcd27b4&chksm=f3e35e11c494d7072fbb215f2ca548801338306f65d9ab78723c2ff02290484b0b983a2879c7&mpshare=1&scene=1&srcid=&sharer_sharetime=1572129397658&sharer_shareid=8c49d4226c319addceef298b781f6bb7&key=f0572ec07140f16088698c0ef9ed666bd510f1eb2e674d5e00b33d1ef29a7c86056b92736f977e9dae2bd5b939807d99ec77a9cee4e42beb6e266ec66ae7c9112c52ff8115b96fe6c820da78b2dddcd0&ascene=1&uin=MTgxNzI3MTY0MQ%3D%3D&devicetype=Windows+10&version=62060841&lang=zh_CN&pass_ticket=CTTViZgHQX3FG9pptB%2FT82I3eIlTTl%2FR8oxPUQqTT2Bp2DW3cDe7M5%2Ff05feFRLl
python基础刻意练习--Task 6 字典与集合相关推荐
- 【Python基础】使用列表、字典和集合生成式来缩短代码
作者 | Philip Wilkinson 编译 | VK 来源 | Towards Datas Science 在使用Python将近一年的时间里,我经常遇到"生成式"这个词,但 ...
- Python基础语法七:元组字典和集合
1.元组 1.什么是元组 元组是不可变的列表(不支持增删改的操作),元组是有序的(支持下标操作) 元组是容器型数据类型,将()作为容器的标志,多个元素之间用逗号,隔开 元组中的元素的要求和列表一样 1 ...
- python基础--列表、元组、字典和集合
列表.元组.字典和集合 在 Python 编程中,我们既需要独立的变量来保存一份数据,也需要序列来保存大量数据. 列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块 ...
- Python基础教程:列表、字典、集合推导式
下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_res for out_exp in input_list if out_exp == 2] ...
- Python基础知识 2022-11-14 ★ 小结 43-50 字典_集合
文章目录 字典 字典的特点 创建方式 字典元素的访问 字典元素的添加 字典元素的删除 字典的序列解包 序列解包用于列表 序列解包用于元组 序列解包用于字典 表格的构建和打印,列表和字典综合嵌套 字典核 ...
- python基础刻意练习-day15
python基础刻意练习-day15 魔方方法 魔方方法总是被双下划线包围,例如_int_ 简单定制 基本要求: 1.定制一个计时器的类 2.start和stop方法代表启动计时和停止计时 3.假设计 ...
- Python学习笔记:列表、字典与集合解析(List, Dict and Set Comprehensions)
Python学习笔记:列表.字典与集合解析(List, Dict and Set Comprehensions) 1.列表解析 最受喜爱的Python语言特性.过滤一个集合的元素生成一个新的列表. 一 ...
- 总结python中列表、元组、字典、集合的共同点和不同点
前言: 今天就和大家只聊聊python中列表.元组.字典.集合的共同点和不同点,能力有限,写的不好的地方,请大家多多海涵! 列表list 列表和元组·都是有序的 # 元组与列表相似可以通过索引与切片获 ...
- 学习Python(5)排序tuple元组dict字典set集合
目录 学习Python(5)排序&tuple元组&dict字典&set集合 排序 冒泡排序 选择排序 元组 创建元组 元组元素的访问 元组操作 元组功能 二维元组 字典 创建字 ...
- 二、python基础(列表、元组、字符串、集合、字典、文件操作,函数基本语法及特性)...
本节内容 列表.元组操作 字符串.列表.字典.集合操作 文件操作 函数基本语法及特性 一.列表.元组操作 列表是我们最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作: 列表操作:切 ...
最新文章
- Spring中ref local与ref bean区别
- java月份列表_java – 如何获取两个日期之间的月份和年份列表
- 282021年高考成绩查询方法,往年高考成绩怎么查询 查询成绩的方法
- 每天一道LeetCode-----将字符串切分,使每个子串都是回文串,计算所有可能结果和最小切分次数
- 编译时,输出信息重定向到文件
- unix iorp等待队列_FreeRTOS+POSIX之消息队列API详解
- csharp语言_电脑绝技教你22天学精Csharp之第五天
- C#实现对文件目录的实时监控
- Scrapy框架高级操作
- PTA:6-8 数组元素的区间删除 (20 分)
- TCP/IP 和 Socket 的关系
- ubuntu18.04配置ORB-SLAM3
- 关于时间序列分析的协整检验、脉冲响应图、方差分解图和格兰杰因果检验
- Win10设置系统保护色
- 拓扑结构计算机网络结构,什么是计算机网络的拓扑结构
- mstar Android解锁,液晶电视维修之Mstar方案从强刷包提取引导的方法
- Linux下scons安装
- Ormlite的工具使用
- 全球与中国N-苯基马来酰亚胺粉市场深度研究分析报告
- linux蓝牙服务关闭,使用linux的hciconfig命令配置蓝牙设备
热门文章
- 配置HRFormer:High-Resolution Transformer for Dense Prediction条件
- clc和clear命令的使用
- android华为怎么截屏快捷键,华为P9/P9Plus怎么截图 快捷键截图方法介绍
- 小米2017校园招聘笔试题
- python-类(class)是什么?怎么用?
- 免Fan,国内直接访问,Instagram!文末还有…………
- 企业微信sdk调用,通过手机号或微信好友添加客户
- 0x80070057复制从服务器复制文件,解决win10更改用户文件夹提示0x80070057的方法
- 联想计算机管理员权限设置,联想电脑windows10管理员权限开启的4种方法
- vue 3 的devtools beta 版离线下载