文档章节

Python开发——4.集合和字符串拼接

o
 osc_z1hvg4cu
发布于 2018/04/24 21:42
字数 572
阅读 3
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、集合(set)

1.集合的特性:

  不同元素组成、元素是无序排列的可hash值

2.集合转为列表

s1 = {11,"hechouzi",(11,22,33)}
names = list(s1)
print(names)

3.集合的方法

(1)add 添加元素

s = {11,22,(1,2),"hechouzi"}
s.add("kobe")
print(s)

(2) clear 清空元素

s = {11,22,(1,2),"hechouzi"}
s.clear()
print(s)

(3) copy

s = {11,22,(1,2),"hechouzi"}
s1 = s.copy()
print(s1)

(4)pop 随机删除,remove 指定删除,没有报错 discard 指定删除,没有不会报错

s = {11,22,(1,2),"hechouzi"}
s.pop()
s.remove(11)
s.discard(10)
print(s)

4.关系测试

(1)intersection(&)求取交集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.intersection(s2)
s3 = s1 & s2
print(s3)

(2)union(|) 求取并集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.union(s2)
s3 = s1 | s2
print(s3)

(3) difference(-)求取差集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.difference(s2)
s3 = s1 - s2
print(s3)

(4)symmetric_difference(^)求取交叉补集

s1 = {11,22,33,"hechouzi"}
s2 = {22,33,"kobe"}
# s3 = s1.symmetric_difference(s2)
s3 = s1 ^ s2
print(s3)

(5) xx.update 将得到的集合更新到s1

s1.intersection_update(s2)
print(s1)

(6)isdisjoint 无交集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {44,55}
v = s1.isdisjoint(s2)

(7)issubset  s2是s1的子集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {11,22}
v = s2.issubset(s1)
print(v)

(8)issuperset  s1是s2的父集返回True

s1 = {11,22,33,"hechouzi"}
s2 = {11,22}
v = s1.issuperset(s2)
print(v)

(9) update 更新多个值

s1 = {11,"hechouzi",(11,22,33)}
s1.update((22,33))
print(s1)

二、字符串拼接

1.%

(1)%s 字符串类型,%d整型数字,%.2f 浮点数,小数点后2位默认6位,% .2f%%,百分比

s = "I am %s,I am %d, percent %.2f, %.2f%%"%("hechouzi",25,42.8888,24.88888)
print(s

(2)字典

s = "I am %(name)s,I am %(age)d"%{"name":"hechouzi","age":25}
print(s)

2.format

  *列表  **字典

  :b 二进制  :o 八进制  :d  整型  :x  十六进制小写  :X  十六进制大写

s = "i am {},age{},{}".format("bigmouse",25,"dazui")
print(s)
s = "i am {},age{},{}".format(*["bigmouse",25,"dazui"])
print(s)
s = "i am {0},age{1},{1}".format("bigmouse",25,"dazui")
print(s)
s = "i am {2},age{1},{0}".format(*["bigmouse",25,"dazui"])
print(s)
s = "i am {name},age{age},{name}".format(name="bigmouth",age=25)
print(s)
s = "i am {name},age{age},{name}".format(**{"name":"bigmouth","age":25})
print(s)
s = "i am {0[0]},age{0[1]},{1[2]}".format([1,2,3],[11,22,33])
print(s)
s = "i am {:s},age {:d},length {:.3f}".format("dazui",24,2.1111)
print(s)
s = "i am {name:s},age {age:d},{length:.3f}".format(name="dazui",age=24,length=2.1111)
print(s)
s = "i am {name:s},age {age:d},{length:.3f}".format(**{"name":"dazui","age":24,"length":2.1111})
print(s)
s1 = "num1:{:b} {:o} {:d} {:x} {:X} {:.3%}".format(24,24,24,24,24,24.888888,)
print(s1)

 

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
python面试的100题(8)

企业面试题 15.python新式类和经典类的区别? (在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的...

osc_851bq07r
2019/03/21
5
0
Python 入门之Python基础数据类型及其方法

Python 入门之Python基础数据类型 1、 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 1.2 整数的减 1.3 整数的乘 1.4 整数的除 1.5 整数的整除 1.6 整数...

osc_7shyb795
2019/08/25
6
0
1、初识Python、变量、if、while、基本数据类型、控制台输入输出

一、初识 1、语言对比: python与java网页后台都可以写 python执行效率低 开发效率高 java执行效率高 开发效率低 2、python解释器 3、解释器路径:linux系统中(windows不用)   由于执行方...

osc_zftuyca9
2018/08/16
8
0
python内建对象——PyStringObject

字符串对象,在python3中PyStringObject已经改为PyBytesObject。定义如下: 之前已经说过了,对于变长对象,PyVarObject定义了obsize属性来维护元素的个数,obsval数组则存放了字符串的各个字...

lzhnice
2018/09/26
0
0
跟着高淇学Python——第一到第三章总结

2019/10/26 第一章:Python介绍 Python是一种解释型,面向对象的语言。特点是: 可读性强 简洁,简洁 面向对象 免费开源 可移植性和跨平台性 丰富的库 可扩展性 应用范围:1、人工智能,2、数...

osc_j89isia8
2019/10/26
11
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux系统检查用户账户到期时间

如果你在 Linux 上启用了密码策略。密码必须在到期前进行更改,并且登录到系统时会收到通知。如果你很少使用自己的帐户,那么可能由于密码过期而被锁定。在许多情况下,这可能会在无需密码登...

老孟的Linux私房菜
10分钟前
0
0
关于南京哪里有开餐饮费发票?

关于南京哪里有开餐饮费发票?聚焦餐饮行业,谈话〖18 7一電一7 5 3 8一徴一3331〗研究院昨发布数据显示,今年上半年,全国餐饮行业招聘需求增长46.18%,平均月薪6387元.随着餐饮行业的快速...

点击fojewio
42分钟前
7
0
android studio 4.0 打开DDMS

1、先找到AndroidStudio配置的SDK路径; 2、在SDK的/tools/路径下有个monitor.bat 的批处理文件; 3、鼠标连续点击两下monitor.bat这个批处理文件,在屏幕上会打开一个类似CMD的命令行中输入...

chenhongjiang
45分钟前
10
0
如何在Android中使用SharedPreferences来存储,获取和编辑值

问题: Closed . 已关闭 。 This question needs to be more focused. 这个问题需要更加集中。 It is not currently accepting answers. 它当前不接受答案。 Learn more . 了解更多 。 Want...

fyin1314
55分钟前
6
0
【JDK1.8】LinkedList源码分析

LinkedList的特性 LinkedList内部使用双向链表作为存储结构,LinkedList可以理解为链表的扩展对象,封装了常用的和非常用的操作链表的方法。以及在通过索引获取元素时的简单优化,通常Linke...

XuePeng77
今天
36
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部