python第九天
一、集合
由不同元素组成的集合,集合是无序排列的值,可作为字典的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进制 #:%显示百分比,小数点后六位