【python基础】之元组 集合 字典
元组
元组:元组和列表类似。但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序)
1.创建元组
t1 = () #创建一个空元组
t2 = (1, 2, 3)
t3 = tuple([2 * x for x in range(1, 5)]) #从列表中创建元组
t4 = tuple("abac") #从字符串中创建元组 t4 = ['a', 'b', 'a', 'c']
2.使用
可以使用len, min,max, sum函数操作元组;用for循环遍历元组的元素;in和not in判断元素是否在元组中;用比较运算符对元素进行比较。
>>> tuple1 = tuple([7,1,2,23,4,5])
>>> tuple1
(7, 1, 2, 23, 4, 5)
>>> len(tuple1)
6
>>> min(tuple1) #tuple1元组中有非数字时会报错
1
>>> max(tuple1) #tuple1元组中有非数字时会报错
23
>>> sum(tuple1) #tuple1元组中有非数字时会报错
42
>>> for x in tuple1: #用for循环遍历元组的元素
print(x) 7
1
2
23
4
5
>>> 7 in tuple1 #in和not in判断元素是否在元组中
True
>>> 3 in tuple1
False
>>>
集合
集合中的元素是不重复且不按任何顺序放置的。
数组元组和字符串元组是不可变的。
1.创建集合(set函数)
s1 = set() #创建空集合
s2 = {1, 3, 5}
s3 = set((1, 3, 5)) #从元组中创建集合
s4 = set([x * 2 for x in range(1, 10)]) #从列表中创建集合
s5 = set("abac") #从字符串中创建集合 s5 = {'a', 'b', 'c'}
集合可以包含类型相同或不同的元素
s6 = {1, 3, "abc", 'a'}
2.操作和访问集合
add()和remove()
>>>s1 = {1, 2, 4}
>>>s1.add(6)
{1, 2, 4, 6}
>>>s1.remove(6)
{1, 2, 4, 6}
下文引用s1集合,承接下文
len(),min(), max(),sum() (后三个只对集合元素全为数字有效)
>>>len(s1) #求集合的长度,即元素的个数
3
>>>max(s1) #求集合<span style="font-family: Arial, Helvetica, sans-serif;">元素中的</span>最大值
4
>>>min(s1) #求集合元素中的最小值
1
>>>sum(s1) #求集合元素的和
7
for循环遍历集合中的元素
>>>for x in s1:
print(x) 1
2
4
in和not in判断元素是否在集合中
>>> 1 in s1
True
>>> 2 in s1
True
>>> 1 not in s1
False
3.子集和超集 (issubset()函数和issuperset()函数)
使用issubset()判断集合s1是否是s2的子集,issuperset()判断集合s1是否是s2的超集。
>>> s1 = {1, 2, 4}
>>> s2 = {1, 3 ,4 , 5, 2}
>>> s1.issubset(s2) #s1是s2的一个子集
True
>>> s2.issuperset(s1) #s2是s1的一个超集
True
若s1是s2的子集则s2一定是s1的超集
4.关系运算符(==, !=, >, >=, <,<=)
| == | 若s1和s2相等(包含相同的元素),返回true |
| != | 若s1和s2不相等(包含不相同的元素),返回true |
| > | 如果s1是s2的真超集,则s1>s2返回true |
| >= | 如果s1是s2的超集,则s1>=s2返回true |
| < | 如果s1是s2的真子集,则s1<s2返回true |
| <= | 如果s1是s2的子集,则s1<=s2返回true |
注意:集合中的元素是没有顺序的。
5.集合运算(并集,交集,差集,对称差集合)
并集
>>> s1 = {1, 2, 4}
>>> s2 = {1, 3, 5}
>>> s1.union(s2)
{1, 2, 3, 4, 5}
>>> s1 | s2
{1, 2, 3, 4, 5}
下文引用此处集合s1和s2。
交集
>>> s1.intersection(s2)
{1}
>>> s1 & s2
{1}
差集
>>> s1.difference(s2)
{2, 4}
>>> s1 - s2
{2, 4}
对称差集合
定义:除了两个集合中共同元素之外所有在两个集合中的元素之和。
>>> s1.symmetric_difference(s2)
{2, 3, 4, 5}
>>> s1 ^ s2
{2, 3, 4, 5}
字典
一个字典就是一个存储键值对集合的容器对象。
1.创建
字典中由数个条目组成:key:value
>>> students = {"":"sky","":"will"} #创建有两个条目的字典
>>> students[""]
'sky'
>>> student2 = {} #创建一个空字典
2.添加,修改和获取值
格式:dictionaryName[key] = value
>>> students[""] = "good"
>>> students
{'': 'will', '': 'sky', '': 'good'} #字典students中新增条目
>>> students[""]
'good'
>>>
注意:若你要添加的关键字key值已存在,则替换该关键字对应的value值。
3.删除条目
格式:del dictionName[key]
>>> del students[""]
>>> students #删除第三个条目
{'': 'sky','': 'will'}
>>>
若字典中不存在关键字key则会出现KeyError异常
4.常用的操作
使用for循环来遍历条目
>>> for viewKey in students:
print(viewKey + ":" + str(students[viewKey])) "":"sky"
"":"will"
len函数
>>> len(students)
2
in和not in判断关键字key是否在一个字典中
>>> "" in students
False
>>> "" in students
True
>>> "" not in students
False
相等性检测( == , !=)
>>> students2 = {"":45}
>>> students == students2
False
>>> students != students2
True
注意:比较时不管条目在字典中的顺序。不能使用比较运算符(>, >=, <, <=)对字典进行比较,字典中的条目顺序是没有顺序的。
5.常用的字典类dict
| keys(): tuple | 返回一个关键字key序列 |
| values(): tuple | 返回一个值value序列 |
| items(): tuple | 返回一个元组序列,每个元组都是一个条目的(键, 值) |
| clear(): None | 删除所有条目 |
| get(key): value | 返回这个关键字对应的值 |
| pop(key): value | 删除这个关键字对应的条目并返回它的值 |
| popitem(): tuple | 返回一个随机选择的键值对作为元组并删除这个被选择的条目 |
>>> students.keys()
dict_keys(['', ''])
>>> students.values()
dict_values(['sky', 'will'])
>>> students.items()
dict_items([('', 'sky'), ('', 'will')])
>>> students.get("")
'sky'
>>> students.pop("")
'sky'
>>> students
{'': 'will'}
>>> students.popitem()
('', 'will')
>>> students.clear()
>>> students;
{}
>>>
【python基础】之元组 集合 字典的更多相关文章
- Python基础之元组和字典
一.元组: 1.定义: 内存图: 2.基本操作 3.元组作用: 4.元组基础知识代码 # . 创建空元组 t01 = () t02 = tuple() # . 创建具有默认值的元组 t01 = (,, ...
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- 『Python基础-11』集合 (set)
# 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- Python基础篇(set集合)
Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...
- python基础数据类型--元组(tuple)
python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...
- Day2 - Python基础2 列表、字典、集合
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
随机推荐
- Ubuntu如何备份和恢复系统 - 落花往事的日志 - 网易博客
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供 ...
- 苹果应用商店AppStore审核中文指南
目录 1. 条款与条件2. 功能3. 元数据.评级与排名4. 位置5. 推送通知6. 游戏中心7. 广告8. 商标与商业外观9. 媒体内容10. 用户界面11. 购买与货币12. 抓取与聚合13. 设 ...
- POJ 3421 X-factor Chains
线型素数筛+质因素分解+组合数. AC后发现这样做效率有点低..766ms. #include<stdio.h> #include<string.h> #include< ...
- 基础数据结构之(Binary Trees)
从头开始刷ACM,真的发现过去的很多漏洞,特别越是基础的数据结构,越应该学习得精,无论是ACM竞赛,研究生考试,还是工程上,对这些基础数据结构的应用都非常多,深刻理解非常必要.不得不说最近感触还是比较 ...
- STM32单片机在Keil5下仿真的问题解决及GPIO口初始化、使用
STM32单片机在Keil5下仿真的问题解决及GPIO口初始化.使用 最近看了视频,里面有仿真,可以清楚看到GPIO口的数据变化,也想尝试下,DUG时却出现*** error 65: access v ...
- 史上最坑的证书报错解决方法:Code=3000 "未找到应用程序的“aps-environment”的权利字符串"
在ios注册远程通知获取设备令牌token的时候 // 注册远程通知获取设备令牌 toKen [[ UIApplication sharedApplication ] registerForRemot ...
- easyui 异步json tree跨域访问问题解决
最近在用easyui中的异步tree时发现了跨域访问问题,我们都知道jquery ajax提供get请求的跨域访问.所以解决easyui tree跨域访问的问题便是将数据通过jquery ajax将数 ...
- Java 汉子转拼音
1. 引入: pinyin4j-1.1.0 包; http://pan.baidu.com/s/1eQ8a874 2. 转换; private static String ChineseToPiny ...
- diff命令参数
diff命令参数: diff - 找出两个文件的不同点 总览 diff [选项] 源文件 目标文件 描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - ...
- Django之强大的Form功能
转载: http://www.cnblogs.com/0820-zq/p/5807980.html Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出 ...