Python从入门到精通之Sixth!
补充:enumerate 函数用于遍历序列(元组tuple、列表list、字典dict)中的元素以及它们的下标:
>>> for i,j in enumerate(('a','b','c')):
print(i,j,end="")
0 a1 b 2c
Python 集合set
定义:由不同元素组成的无序的元组 形式:S = {'H','E','L','L','O'}或者S = set('HELLO')
set()函数可以把列表、元组等等转换为集合 集合可以做到简单去重的效果,也可以进行交差并等的集合运算。
集合的内置方法:
#add方法:把元素添加到集合
s = {1,2,4,5}
s.add('') #clear方法:清空集合
s.clear() #copy拷贝
s1 = s.copy() #pop方法:随机删除一个值
s = {1,2,3,4,5}
s.pop() #remove方法:指定删除,删除元素不存在会报错
s = {1,2,3,4,5,'hello'}
s.remove('hello') #discard方法:指定删除,删除元素不存在不会报错
s = {1,2,3,4,5,'hello'}
s.discard('hello')
集合的运算:交、并、差
#求交集 2个方法:intersection 或 &
Linux = ['a',1,2,3,'b']
Python = ['a',5,3,6,4,'c']
linux_s = set(Linux)
python_s = set(Python)
print(python_s.intersection(linux_s))
print(python_s & linux_s)
#求并集 2个方法:union 或 |
Linux = ['a',1,2,3,'b']
Python = ['a',5,3,6,4,'c']
a = set(Linux)
b = set(Python)
print(a.union(b))
print(a | b) #求差集 2个方法:difference 或 -(减号)
Linux = ['a',1,2,3,'b']
Python = ['a',5,3,6,4,'c']
a = set(Linux)
b = set(Python)
print(b-a)
print(a-b)
print(b.difference(a)) #b集合减去a集合
print(a.difference(b)) #a集合减去b集合
a.difference_update(b) #a集合减去b集合并更新a集合,与上面作用没什么大的区别
#交差补集:两集合并到一起,之后减去两个共有的元素
#求交叉补集 两种方法:symmetric_difference() 或 ^
Linux = ['a',1,2,3,'b']
Python = ['a',5,3,6,4,'c']
a = set(Linux)
b = set(Python)
print(a.symmetric_difference(b))
print(a ^ b)
集合运算补充:
#isdisjoint方法:如果两个集合的交集不存在则为True,否则False
print(linux_s.isdisjoint(python_s)) #issubset()方法:如果s1是s2的子集,返回True
print(s1.issubset(s2))
#issuperset()方法:如果s1是s2的父集,返回True
print(s1.issuperset(s2)) #update更新,add只能添加一个值,而update可用于更新多个值(包括列表元组等等)
s1 = {1,2}
s2 = {1,2,3}
s1.update(s2) ==========>{1,2,3} #symmetric_difference_update方法:与symmetric_difference()交叉补集几乎相同 #intersection_update:与交集几乎相同
集合是可变的,定义不可变集合:s = frozenset()
不可变集合没有add、remove等等的方法。
字符串拼接 注意:拼接字符串时不可以把字典与%d / %s同时使用,否则会报错
msg = 'my hobby is alex' + '1hf' #用加号拼接,但是效率低,一般不用。
print(msg) #%s代表字符串,可以接收多个任意类型值,他是万能的,包括列表。
s前面可以加数值代表截取的长度 例如 .3s 代表3的单位长度的字符
msg = 'I am %s my hobby is alex' %'xut'
print(msg) =====>> I am xut my hobby is alex name = 'lhf'
age = 19
msg = 'i am %s my hobby is %d' %(name,age) #%d只可以接收整型数字,%f 代表浮点型,%.2f保留2位浮点数,并进行四舍五入
#打印百分比,2个%
tpl = 'percent %.2f %%' %99.999
print(tpl) =====>> percent 100.00% #字典键值对的引用,%(keys)s/d s是字符串d是整型
tpl = 'i am %(name)s age %(age)d' %{"name":'alex',age:18} #加号是右对齐指定长度(包括name的值),减号左对齐指定长度(包括name的值)
tpl = 'i am %(name)-60s my hobby is alex' %{"name":lhf}
print(tpl) ======>> i am lhf my hobby is alex
print输出时的分割符用sep指定
print('root ','x','0',sep=':') ====>> root:x:0
format字符串格式化
#format的一般用法,大括号内数字是索引号
tpl = "i am {2},age {1},{0}".format("seven",18,'alex')
print(tpl) =======>>i am alex,age 18 ,seven tpl = "i am {1},age {1}"
print(tpl) ======>>i am 18,age 18 #字典传值的两种方式,键keys 传值
方法一:
tpl = "i am {name},age {age}'".format(name="alex“,age=18)
方法二:使用两个*,加上字典。
tpl = "i am {name},age {age}".format(**{"name":'alex',"age":18}) #列表传值时使用{索引号[列表索引号]}
tpl = "i am {0[0]},age {1[1]}".format(["seven"],[18,'alex']) #{:S}代表传值的类型是字符串型 {:d}代表传值的类型是整型 {:f}代表传值的类型是浮点型
tpl = "i am {:s},age {%d},{%f}“.format("alex",18,2.11) #*星号代表传入的只是一个列表
tpl = "i am {:s},age {:d}".format(*["seven",18])
m = ["seven",18]
tpl = "i am {:s},age {:d}".format(*m) #:b二进制 :d整型 :o八进制 :x小写的16进制 :X大写的16进制 :%显示百分比
tpl = "{%o},{:%}“.format(15,15)
print(tpl) =======>>17 15%
Python从入门到精通之Sixth!的更多相关文章
- python从入门到精通之30天快速学python视频教程
点击了解更多Python课程>>> python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv pyth ...
- Python从入门到精通之eighth!
函数式编程与内置函数 函数作用域: def test1(): print('in the test1') def test(): print('in the test') return test1() ...
- Python从入门到精通之Forth!
Python基本数据类型之列表 补充:range()方法 python2: range 立即创建 xrange for循环的时候才一个一个创建 Python3: range for循环的 ...
- Python从入门到精通之Third!
Python运算符 算数运算符:+ - * / % // ** 比较运算符:== > < >= 大于等于 & ...
- Python从入门到精通之Second!
初识Python基础! -基础 -扩展名可以是任意的,但是导入模块时,如果不是.py文件就会报错. -两种执行方式 1.python解释器 文件名.py 文件路径 -Li ...
- Python从入门到精通之First!
Python的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jy ...
- Python从入门到精通之环境搭建
本章内容: Windows系统环境搭建 Linux系统环境搭建 Mac OS系统环境搭建 一.下载python安装包 下载地址:https://www.python.org/downloads/ 二. ...
- Python从入门到精通之Seventh!
函数浅析:可以减少代码重用,保持一致性,可扩展性,易维护性. 定义方法:def 函数名(形参): '''功能注释''' 代码块 打印函数名时,会出现函数的内存地址.两个函数名相同时, ...
- Python从入门到精通之Fifth!
字典 类名:dict 字典是无序的. 字典的创建 info = {"k1":{1:"abc",[1,2,3]},"k2":True} ...
随机推荐
- PHP通过身份证号码获取性别、出生日期、年龄等信息
$sex = substr($idcard, (strlen($idcard)==18 ? -2 : -1), 1) % 2 ? '1' : '2'; //18位身份证取性别,倒数第二位奇数是男,偶数 ...
- Spring切面编程实践【原创】
定义 什么叫Spring面向切面编程(AOP),请自行百度,这边就不做详细介绍了. 场景 有两个对象,字典和工程信息Bean,每次新增或修改对象时,记录新增和修改的时间. 基类定义 package m ...
- 【UiPath 中文教程】02 - 创建自定义 Activity
在 UiPath Studio 中,活动 (Activity) 是流程自动化的基石,是构成自动化程序的最小模块.它们被包含在一个个 NuGet 包中. UiPath Studio 中有 3 类包: 官 ...
- errors collectiions
c/c++中出现“undefined reference to”的解决 如果提示未定义的函数是某个库的函数.检查库时候已经安装,并在编译命令中采用-l和-L参数导入库. 如果提示未定义的函数是程序中的 ...
- C语言典型编程1
关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言.同一问题,算法多种 //阶乘运算(有多种编写方式,编程需要看懂,更要打出来)#include ...
- 3D Math Keynote 3
[3D Math Keynote 3] 1.球的表面积 Surface.球的体积 Volumn: 2.当物体旋转后,如果通过变换后的旧AABB来顶点来计算新的AABB顶点,则生成的新AABB可能比实际 ...
- python 并发编程 锁 / 信号量 / 事件 / 队列(进程间通信(IPC)) /生产者消费者模式
(1)锁:进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理. 虽然使用加锁的形式实现了 ...
- OOP的五大原则
一:单一职责原则. 含义一方面是避免相同的职责分散到不同的类中:另一方面避免一个类承担太多职责. 二:接口隔离原则. 一个类对另一个类的依赖性应当建立在最小的接口上的. 就是定制化服务设计的原则. 三 ...
- 腾讯2019年暑期实习生招聘提前批在线笔试技术研究和数据分析方向t2(python)
小Q有一叠纸牌,一共有n张,从上往下依次编号为1~n.现在小Q要进行以下重复操作:把位于顶端的牌扔掉,把新的顶端的牌放到这叠牌的底部.小Q会一直操作到只剩下一张牌为止,小Q想知道每次扔掉的牌的编号.[ ...
- Centos 7 Ntop 流量分析 安装
Centos 6 安装 Ntop:https://www.cnblogs.com/weijie0717/p/4886314.html 一.安装 1.添加EPEL 仓库 # yum install ep ...