集合(set)
# 2 无序
# 3 集合中元素必须是不可变类型
# 定义集合
s = {1,2,3,4,5}
print(s) # 输出结果 {1, 2, 3, 4, 5}
# 1 集合由不同元素组成
s1 = {1,2,2,3,4,5,5,5,5,5}
print(s1) # 输出结果 {1, 2, 3, 4, 5}
s2=set("hello") # 定义集合方法2
print(s2) # 输出结果 {'o', 'e', 'h', 'l'}
set中的一些常用方法(add,clear,copy,pop,remove,update)
s = {1, 2, 3, 4, 5}
s.add(7) # 增加元素
print(s) # 输出结果 {1, 2, 3, 4, 5, 7}
s1 = {1, 2, 3, 4, 5}
s1.clear() # 清空
print(s1) # 输出结果 set()
s2 = s.copy() # 复制一份
print(s2) # 输出结果 {1, 2, 3, 4, 5, 7}
s3 = {1, 2, 3, 4, 5}
s3.pop() # 随机删除
print(s3) # 输出结果 {2, 3, 4, 5}
s4 = {1, 2, 3, 4, 5}
s4.remove(3) # 指定删除
print(s4) # 输出结果 {1, 2, 4, 5}
s1={1,2,3}
s2={2,3,4}
s1.add(4) # 添加 一个元素
print(s1)
s1.update(s2) # 可以添加多个元素
s1.update((7,8)) # 也可以传元组
print(s1) # 输入结果 {1, 2, 3, 4, 7, 8}
集合(交,差,并)
python_1 = ['hanhan', 'meimei', 'haohao']
linux_1 = ['hanhan', 'meimei']
# 求这两个列表的交集
p_s = set(python_1) # 创建集合
l_s = set(linux_1) # 创建集合
print(p_s.intersection(l_s)) # 输出结果 {'hanhan', 'meimei'}
print(p_s & l_s) # 输出结果 {'hanhan', 'meimei'}
# 求两个列表的并集
print(p_s.union(l_s)) # 输出结果 {'meimei', 'hanhan', 'haohao'}
print(p_s | l_s) # 输出结果 {'meimei', 'hanhan', 'haohao'}
# 求差集 差集:两个集合相差的元素
print(p_s.difference(l_s)) # 输出结果 {'haohao'}
print(p_s - l_s) # 输出结果 {'haohao'}
print(l_s.difference(p_s)) # 输出结果 set()
print(l_s - p_s) # 输出结果 set()
# 交叉补集
print(p_s.symmetric_difference(l_s)) # 输出结果 {'haohao'}
print(p_s^l_s) # 输出结果 {'haohao'}
字符串格式化
# 字符串格式化
msg='i am hanhan'+' my hobby is coding' # 此方法容易占空间 不太好
print(msg) # 输出结果 i am hanhan my hobby is coding
msg1='i am %s my hobby is coding' % ('hanhan') # % 更实用
print(msg1) # 输出结果 i am hanhan my hobby is coding
msg2='i am %s my hobby is %s and i am %d yeas old' % ('hanhan','coding',23) # % 更实用
print(msg2) # 输出结果 i am hanhan my hobby is coding and i am 23 yeas old
msg4='percent %.2s' % 99.987456456456 # %.2s 就是后面字符串的简单截取
print(msg4) # 输出结果 99
msg5='percent %.3s' % 99.987456456456 # %.3s 就是后面字符串的简单截取
print(msg5) # 输出结果 99.
msg6='percent %.4s' % 99.987456456456 # %.4s 就是后面字符串的简单截取
print(msg6) # 输出结果 99.9
msg3='percent %.2f' % 99.987456456456 # .2就是小数点后面保留两位有效数字
print(msg3) # 输出结果 percent 99.99
# 打印百分比
msg7='percent: %.2f %%' % 99.987456456456
print(msg7) # percent: 99.99 %
# 以字典的形式来完成输入
msg8='i am %(name)s and i am %(age)d yeas old' %{'name':'hanhan','age':23}
print(msg8) # 输出结果 i am hanhan and i am 23 yeas old
# 也可以加上颜色和距离
msg9='i am %(name)+30s and i am %(age)d yeas old' %{'name':'hanhan','age':23}
print(msg9) # 输出结果 i am hanhan and i am 23 yeas old
print('ip','107','111','23','51',sep=':') # 输出结果 ip:107:111:23:51
format用法
msg = 'i am {} i am {} yeas old my hobby is {}'.format('hanhan', 23, 'coding')
# 如果{} 中没有索引,则将一一对应后面的值,如果对应不了则报错
print(msg) # 输出结果 i am hanhan i am 23 yeas old my hobby is coding
msg1 = 'i am {0} i am {1} yeas old my hobby is {2}'.format('hanhan', 23, 'coding')
# format 将会按照前面{}中的索引来传值
print(msg1) # 输出结果 i am hanhan i am 23 yeas old my hobby is coding
msg2 = 'i am {0} i am {0} yeas old my hobby is {0}'.format('hanhan', 23, 'coding')
print(msg2) # 输出结果 i am hanhan i am hanhan yeas old my hobby is hanhan
# 也可以按照对象名字来传值
msg3 = 'i am {name} i am {age} yeas old my hobby is {hobby}'.format(name='hanhan', age=23, hobby='coding')
print(msg3) # 输出结果 i am hanhan i am 23 yeas old my hobby is coding
# 也可以按照列表来传值
msg4 = 'i am {0[0]} i am {1[1]} yeas old my hobby is {0[2]}'.format(['hanhan', 80, 'coding'], [11, 23, 25])
print(msg4) # 输出结果 i am hanhan i am 23 yeas old my hobby is coding
l=['hanhan',18,'coding']
# 如果需要动态传入列表 必须加上*
msg5 = 'i am {:s} i am {:d} yeas old my hobby is {:s}'.format(*l)
print(msg5) # 输出结果 i am hanhan i am 18 yeas old my hobby is coding
msg6 = 'number:{:b},{:o},{:d},{:x},{:X},{:%}'.format(15,15,15,15,15,15)
print(msg6) # 输出结果 number:1111,17,15,f,F,1500.000000%