python第九天

发布时间 2023-08-25 16:08:35作者: 贫道财迷

一、集合

由不同元素组成的集合,集合是无序排列的值,可作为字典的key,集合元素必须为不可变类型

例:

s = {1,2,3,4,4,4,5,6,7}

“&”:交集,”|” :并集,”^”:交叉补集,”-” :差集,“<”,“>”

二、集合交、差、并集

1、关系运算-交集、并集、差集

p_s = set (python_1)
l_s = set(linux_1)
print(p_s,l_s)
#求交集两种方式
print(p_s.intersection(l_s))
print(p_s&l_s)
#求并集
print(p_s.union(l_s))
print(p_s|l_s)
#求差集
print(p_s.difference(l_s))
print(p_s-l_s)
print(l_s-p_s)

2、交叉补集

python_1=["lcg","szw","zjw","lcg"]
linux_1=["lcg","szw","sb"]
p_s = set (python_1)
l_s = set(linux_1)
# 内置方法
# 交叉补集
print("交叉补集",p_s.symmetric_difference(l_s))
print("交叉补集",p_s^l_s)

3、差集赋值

python_1=["lcg","szw","zjw","lcg"]
linux_1=["lcg","szw","sb"]
p_s = set (python_1)
l_s = set(linux_1)
p_s = p_s-l_s
print(p_s)
#等同于
p_s.difference_update(l_s)
print(p_s)

4、判断是否有交集

s1 = {1,2}
s2 = {3,5}
print(s1.isdisjoint(s2))

5、判断是否为子集

s1 = {1,2}
s2 = {1,2,3}
print(s1.issubset(s2))

6、集合的更新

s1 ={1,2}
s2 = {1,2,3}
s1.update(s2)
print(s1)

7、使用update上传元组

s1 ={1,2}
s2 = {1,2,3}
# s1.update(s2)
s1.update((3,4))
print(s1)

8、集合转换为列表

s = frozenset("hello") #定义不可变集合
print(s)
names = ["alex","alex","wupeiqi"]
s = set(names)
print(s)
names = list(s)
print(names)

三、字符串拼接

1、用%s拼接字符串

msg = "i am %s my hobby is alex" %"lhf"
print(msg)
#拼接多个值
msg = "i am %s my hobby is %s" %("lhf","alex")
print(msg)

2、用%d拼接数字

msg = "i am %s my hobby is %d" %("lhf",1)
print(msg)

3、用%f拼接浮点数

tpl = "percent %f" %99.12345678
print(tpl)
tpl1 = "percent %.2f" %99.12345678
print(tpl1)

4、打印字符串截取位数

tp2 = "percent %.3s" %99.12345678
print(tp2)

5、打印百分号

tp3 = "percent %.2f %%" %99.12345678
print(tp3)

打印百分号需要加2个百分号

6、拼接字典的key值,进行赋值得到指定字符串

tp4 = "i am %(name)s age %(age)d" % {"name":"alex","age":18}
print(tp4)

7、拼接字符串进行左对齐/右对齐空位置

tp5 = "i am %(name)-60s age alex" % {"name":"alex"}
print(tp5)
tp6 = "i am %(name)+60s age alex" % {"name":"alex"}
print(tp6)

四、字符串格式化

1、基本格式化的格式

tp1 = "i am {},age {}, {}".format("seven",18,"alex")
print(tp1)

2、指定取值

tp2 = "i am {1},age {1}, {1}".format("seven",18,"alex")
print(tp2)

3、格式化使用字典的形式需要加“**”2个星号

tp3 = "i am {name},age {age}, {name}".format(**{"name":"seven","age":18})
print(tp3)

4、格式化的符号代表意义

tp3 = "number:{:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,15.123456,2)
print(tp3)
#:b代表二进制
#:O代表8进制
#:d代表整形
#:x代表16进制
#:X大写16进制
#:%显示百分比,小数点后六位