ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python学习笔记,视频day14-集合,字符串格式化

2019-09-16 23:02:02  阅读:273  来源: 互联网

标签:格式化 结果 python am day14 yang tp1 print hobby


分类:

可变不可变

  可变:列表,字典

  不可变:字符串,数字,元组

访问顺序

  直接访问:数字

  顺序访问:列表,字符串,元组

  映射:字典

存放元素个数

  容器类型:列表,元组,字典

  原子:数字,字符串

集合:

  1.不同元素组成

  2.无序

  3.元素必须是不可变类型(可哈希的值)

  交集   intersection    &

  并集   union     |

  差集   difference    -

  交叉补集   symmetric_difference

方法:

#集合
s=set("hello")
print(s)
s=set(["alex","hello"])
print(s)
# 结果
# {'l', 'h', 'e', 'o'}
# {'hello', 'alex'}
# 添加add
s={1,2,3,4,5,6}
s.add(22)
s.add(2)
s.add('3')
print(s)
# 结果
# {1, 2, 3, 4, 5, 6, '3', 22}
s={1,2,3,4,5,6}
s.clear()
print(s)
# 结果
# set()
# 删除,随机
s={1,2,3,4,5,6}
s.pop()
print(s)
# 结果
# {2, 3, 4, 5, 6}
# 指定删除,不存在时会报错
s={1,2,3,4,5,6}
s.remove(2)
print(s)
# 结果
# {1, 3, 4, 5, 6}
# 指定删除,不存在时不会报错
s={1,2,3,4,5,6}
s.discard('22')
print(s)
# 结果
# {1, 2, 3, 4, 5, 6}
# 更新s1,更新多个值
s1={1,2}
s2={3,5,43,1}
print(s1.update(s2),s1,s2)
# print(s1.union(s2),s1,s2)#不更新
# 结果
#None {1, 2, 3, 5, 43} {43, 3, 5, 1}
# 集合可以用来判断关系
python_1=["yangzi","siqi","chenglong","yunqianyue"]
linux_1=["yangzi","daqiao","chenglong"]
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)
# 结果
# {'chenglong', 'yangzi'}
# 并集
print(p_s.union(l_s))
print(p_s|l_s)
# 结果
# {'yunqianyue', 'yangzi', 'siqi', 'daqiao', 'chenglong'}
# 差集
print(p_s.difference(l_s))
print(p_s-l_s)
# 结果
# {'yunqianyue', 'siqi'}

# 交叉补集
print(p_s.symmetric_difference(l_s))
# 结果
# {'yunqianyue', 'daqiao', 'siqi'}
python_1=["yangzi","siqi","chenglong","yunqianyue"]
linux_1=["yangzi","daqiao","chenglong"]
p_s=set(python_1)
l_s=set(linux_1)
print(p_s,l_s)
# v=l_s.intersection_update(p_s)
l_s.intersection_update(p_s)
print(p_s,l_s)
# 结果
# None {'yunqianyue', 'yangzi', 'siqi', 'chenglong'} {'yangzi', 'chenglong'}
# 是否有交集,否返回True
s1={1,2}
s2={3,5,43}
print(s1.isdisjoint(s2))
# 结果
# True
# s1是s2的子集,返回True
s1={1,2}
s2={3,5,43,1,2}
print(s1.issubset(s2))
# 结果
# True

补充:

  集合是可变的,可通过frozenset定义不可变集合

s=frozenset("hello")
print(s)
# 简单去重
names=["yangzi","siqi","chenglong","yunqianyue","siqi"]
s=list(set(names))
print(s)
#结果
#['yunqianyue', 'chenglong', 'yangzi', 'siqi']

 

字符串格式化

常规

  %拼接,键方式

format用法

 

  %s    字符串,接受所有

  %d    数字,只能接受数字

  %f    小数

补充:

  sep拼接

# 字符串格式化
msg="i am "+"yang"
print(msg)
# 结果
# i am yang
msg="i am %s hobby is %s"%('yang','swimming')
print(msg)
# 结果
# i am yang hobby is swimming
msg="i am %s hobby is %d"%('yang',22)
print(msg)
# 结果
# i am yang hobby is 22
#打印浮点数
msg="i am %s hobby is %f"%('yang',22.2222223335678)
print(msg)
# # 结果
# # i am yang hobby is 22.222222
# 打印%
msg="i am %s hobby is %2f%%"%('yang',22.2222223335678)
print(msg)
# 结果
# i am yang hobby is 22.222222%
# 键方式
tp1="i am %(name)s hobby is %(bo)s"%{"name":"yang","bo":"Swim"}
print(tp1)
# 结果
# i am yang hobby is Swim
# 右对齐,颜色\033
tp1="i am \033[43:1m%(name)-20s hobby\033[0m is %(bo)s"%{"name":"yang","bo":"Swim"}
print(tp1)
# 结果
# i am yang hobby is Swim
# 拼接符
print("root","a","z",sep="-")
# 结果
# root-a-z

format用法

 

# format
# 一一对应
tp1="i am {},age {},hobby {}".format("yang",18,"swim")
print(tp1)
# 结果
# i am yang,age 18,hobby swim
tp1="i am {2},age {0},hobby {1}".format("yang",18,"swim")
print(tp1)
# 结果
# i am swim,age yang,hobby 18
tp1="i am {name},age {a},hobby {h}".format(name="yang",a=15,h="swim")
print(tp1)
# 结果
# i am yang,age 15,hobby swim
tp1="i am {:s},age {:s},hobby {:s}".format(*["a","b","s",2],[222,"g"])
print(tp1)
# 结果
# i am a,age b,hobby s
tp1="i am {name},age {a},hobby {h}".format(**{"name":"yang","a":1,"h":"swim"})
print(tp1)
# 结果
# i am yang,age 1,hobby swim

# :b 二进制,:o八进制
tp1="{:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,15.3334,33,"dd")
print(tp1)
# 结果
# 1111,17,15,f,F,1533.340000%

(视频8未看)

标签:格式化,结果,python,am,day14,yang,tp1,print,hobby
来源: https://www.cnblogs.com/ppll/p/11524866.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有