一、集合(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)

Python开发——4.集合和字符串拼接的更多相关文章

  1. Python学习-用户输入和字符串拼接

      用户输入和字符串拼接 #用户输入和字符串拼接username=input("username:")age=int(input("Age:")) #转换整数型 ...

  2. python开发学习(元组、字符串、列表、字典深入)

    https://www.cnblogs.com/songqingbo/p/5129116.html(转载学习)

  3. 使用"+"进行字符串拼接

    本文来自:Hollis(微信号:hollischuang) 字符串,是Java中最常用的一个数据类型了.本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识.本文基于j ...

  4. 为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接

    字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者已经发表过几篇文章介绍过很多,如: Java 7 源码学习系列(一)--String 该如何创建字符串,使用" " ...

  5. python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  6. python字符串拼接

    Python字符串拼接 在Python的实际开发中,很多都需要用到字符串拼接,python中字符串拼接有很多,今天总结一下: 用+符号拼接 用%符号拼接 用join()方法拼接 用format()方法 ...

  7. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

  8. Day2 - Python基础2 列表、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 数字操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 ...

  9. python学习6—数据类型之集合与字符串格式化

    python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...

随机推荐

  1. Java虚拟机------JVM内存区域

    JVM内存区域运行时数据区域分为两种: JVM内存区域 运行时数据区域分为两种: 线程隔离的数据区: 程序计数器 Java虚拟机栈 本地方法栈 所有线程程共享的数据区: Java堆 方法区 JVM 内 ...

  2. 杂谈c.cpp

    Endl确保程序运行前刷新输出(将其立即显示在屏幕上),而’\n’却不能保证 在c++中,是以分号分割的,所以可以把几条代码放在一行,也可以把一条代码放在几行 编译器负责分配和标记内存的细节 C++可 ...

  3. 虚拟机安装centOs+网络配置(完整说明)

    1.新建虚拟机(标准)   选择 (我以后下安装操作系统)       选择Linux 操作系统 版本为CentOS(32位)     虚拟机的名称和位置任意       磁盘容量如下即可     设 ...

  4. Asp.Net+JQuery.Ajax之$.post

    段时间有点跑偏,经过米老师和师傅的耐心指导,终于认识到自己的问题,现在回归常规路线,继续B/S的学习. 经过近半个月的熏陶,对JQuery慢慢的有了亲切感.当时我采访过一清,问他看完JQuery视频有 ...

  5. Python代码教你批量将PDF转为Word

    很多时候在学习时发现许多文档都是PDF格式,PDF格式却不利于学习使用,因此需要将PDF转换为Word文件,但或许你从网上下载了很多软件,但只能转换前五页(如WPS等),要不就是需要收费,那有没有免费 ...

  6. eclipse的Git忽略某些不需要提交的文件

    Eclipse切换到Navigator视图,找到.gitignore文件(如果是maven项目,一般找作为modules的项目的.gitignore文件),添加内容: .settings .proje ...

  7. 一个linux 4.9,4.14内核的bbr带宽估计偏低问题

    linux 4.9内核,bbr的带宽估计问题. 一个正常的bbr流量图: 对应的ttl图形: 一个异常的bbr流量图: 可以看出,异常的bbr流量图,出现了一个很低的带宽,且稳定在这个带宽10s左右, ...

  8. 记号一下selenium+Firefox自动下载的参数

    参考: https://blog.csdn.net/wxstar8/article/details/80782556 https://blog.csdn.net/xiaoguanyusb/articl ...

  9. easyui改变tab标题

    截图:   代码: //更改tab的标题 var tab = $('#microAppVersionTabs').tabs('getTab',0);// 取得第一个tab $('#microAppVe ...

  10. extJs相关名字解释

      1.initComponent 初始化部件启动 2.defaults : Object defaults属性可以包含任意个name/value属性对,这些属性将会被添加到每一个元素中...例如, ...