首页 > 编程语言 >四、Python集合与函数

四、Python集合与函数

时间:2024-07-15 22:40:21浏览次数:8  
标签:lg s3 函数 Python age am print 集合 hg

集合 set

1.不同元素组成
2.无序
3.集合中元素必须是不可变类型
s = {1,2,3,4,5}
集合常用魔法

s = {1,2,3,4,5}
s.add('s')
print(s) #>>>{1, 2, 3, 4, 5, 's'}
s.add(6)
print(s) #>>>{1, 2, 3, 4, 5, 's', 6}
s.clear()
print(s)
s = {1,2,3,4,5}
v = s.copy()
print(v)
s = {1,2,3,4,5}
s.pop() #随机删除一个元素 因为集合是无序的所以不能指定删除某个元素
print(s)

s = {1,2,3,4,5}
s.remove(4) #删除指定元素,不能删除不存在的元素,会报错
print(s)
s = {1,2,3,4,5}
s.discard(4) #同样是删除指定元素,但是当删除不存在的元素时不会报错,用的比较多
print(s)

集合关系运算

交集 intersection()

s1 =['lg','hg','lbj']
s2 =['lg','hg','gk']

s3 = set(s1)
s4 = set(s2)
s5 = s3.intersection(s4) #交集
print(s5)#{'lg', 'hg'}
print(s3&s4) #也是交集

并集 union()

print(s3.union(s4)) #并集 {'gk', 'lg', 'hg', 'lbj'}
print(s3|s4)#并集

差集 difference()

print(s3.difference(s4))#差集 求出s3有,而s4没有的 >>>{'lbj'} 不会改变原来的s3
print(s3-s4) #>>>{'lbj'}
s3.difference_update(s4) #将s3与s4交集的结果放入s3中 ,会改变原来的s3
print(s3)##>>>{'gk'}

交叉补集 symmetric_difference()

print(s3.symmetric_difference(s4)) #先把两个并在一块,然后去除共有的部分
print(s3^s4) #>>>{'lbj', 'gk'}

update()

#===update 可以更新多个值,而add只能更新一个值
s1.update(s2) #s1变s2
print(s1)
s1 = {1,2}
s2 = {1,2,3,4,5}
s1.update((3,4)) #s1.update([3,4]) 也可以
print(s1)#>>>>{1, 2, 3, 4}

其他

#==isdisjoint()
print(s3.isdisjoint(s4)) #如果两个集合没有交集,返回True,有返回False

#====
s1 = {1,2}
s2 = {1,2,3,4,5}
print(s1.issubset(s2)) #s1是s2的子集则返回True ,否则返回False >>>True
print(s2.issubset(s1))#>>>False

print(s1.issuperset(s2)) ##s1是s2的父集则返回True ,否则返回False >>>False
print(s2.issuperset(s1))#>>>True

#===frozenset 创建不可变集合 而我们平时的set是可变的
s = frozenset("hello")
print(s) #>>>frozenset({'l', 'e', 'o', 'h'})

百分号字符串拼接

1、百分号方式
%[(name)][flags][width].[precision]typecode

(name) 可选,用于选择指定的key
flags 可选,可供选择的值有:
" + 右对齐;正数前加正好,负数前加负号;"
" - 左对齐;正数前无符号,负数前加负号;"
空格 右对齐;正数前加空格,负数前加负号;
0 右对齐;正数前无符号,负数前加负号;用0填充空白处
width 可选,占有宽度
.precision 可选,小数点后保留的位数
typecode 必选

lg = "i am %s ,my hoppy is %s" %("hg" ,"baskeball")
print(lg)#>>>i am hg ,my hoppy is baskeball
lg = "i am %s ,my hoppy is %s" %("hg" ,11)
print(lg)#>>>i am hg ,my hoppy is 11
lg = "i am %s ,my hoppy is %s" %("hg" ,[22]) #%s可以接受任何数字类型
print(lg)#>>>i am hg ,my hoppy is [22]
lg = "i am %(name)s ,my age is %(age)s" %{"name":"hg","age":22}  #打印字典
print(lg) #>>>i am hg ,my age is 22
lg = " i am %s ,my hoppy is %d" %("hg" ,1) #%d只能接受数字,其他的都不行

d = "date: %.2f" % 90.1111     #打印浮点数 .代表截取位数
print(d) #>>>date: 90.11

#打印百分比
d = "date: %.2f %%" % 90.1111     #
print(d)

lg = "i am %(name)-20s ,my age is %(age)s" %{"name":"hg","age":22}  #打印字典
print(lg) #>>>i am hg                   ,my age is 22
lg = "i am %(name)+20s ,my age is %(age)s" %{"name":"hg","age":22}  #打印字典
print(lg) #>>>i am                   hg ,my age is 22

print('root','user','Desktop',sep='/') #>>>root/user/Desktop
print('root','user','Desktop',sep=':') #>>>root:user:Desktop

format格式化

tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
print(tpl) #>>>i am seven, age 18, alex
tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])  #*号可以取列表里的元素填入,如果没有*号会报错
print(tpl)#>>>i am seven, age 18, alex

tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18) #
print(tpl)#>>>i am seven, age 18, really seven

tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) #转字典i am seven, age 18, really seven
print(tpl)

tpl = "i am {0[0]}, age {0[1]}, really {1[2]}".format([1, 2, 3], [11, 22, 33])#前一个序号代表取第几个列表,第二个代表取列表里的值
print(tpl) #>>>i am 1, age 2, really 33

tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1) #:s表示取得是字符串 :d取的是数字 :f 取浮点型
print(tpl)  #>>>i am seven, age 18, money 88888.100000

tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623,2) #%,显示百分比(默认显示小数点后6位)
print(tpl)#numbers: 1111,17,15,f,F, 1587.623000%

标签:lg,s3,函数,Python,age,am,print,集合,hg
From: https://www.cnblogs.com/huanggai/p/18304187

相关文章

  • 为什么PyCharm是首选的Python代码编辑器?
    这两年被Python初学小白问到最多的问题就是,该用什么代码编辑工具?说实话,我个人是用JupyterNotebook最多,主要是经常做数据可视化,方便些。但对于初学者来说,PyCharm仍是不二的选择,甚至我建议你只用PyCharm.从当前所有主流PythonIDE来看,PyCharm是最适合做Python开发的,特别对......
  • python-pycharm终端指令
    进入终端模式:python-V或 python--version  查看正在运行的Python版本 创建虚拟环境:CMD导航到你想创建虚拟环境的位置。然后运行以下命令来创建一个名为env的虚拟环境: python-mvenvenv            ......
  • Day3 设计哈希集合
    classMyHashSet{  private:    vector<list<int>>data;    staticconstintbase=769;    staticinthash(intkey){      returnkey%base;    }public:  MyHashSet():data(base){}    voidadd(......
  • 0基础学python-12:命名空间和作用域
    目录前言命名空间(Namespace)特点和用途:Python中一般有三种命名空间: 命名空间的查找顺序:作用域(Scope)Python的作用域一共有4种: 作用域查找顺序:代码实例:总结:  前言        命名空间(Namespace)和作用域(Scope)是程序设计中重要的概念,它们有助于组织和管......
  • python集合
    一、集合的定义集合可以存放多个元素。方式一:{a,b,c,d},缺点:不能定义空集合。方式二:set(),空集合;set(Iterable),将可迭代类型元素依次放入集合。遍历:forein{1,3,4,5}:将集合中的每一个元素依次赋予e。特性:不重复,可以用于去重;无序,不可以使用下标。#方式一不能定义空......
  • Vue 3 中 defineExpose() 函数的使用
    什么是defineExpose()?defineExpose()是Vue3提供的一个CompositionAPI函数,用于明确指定哪些内部响应式状态或函数可以被外部访问。如何使用defineExpose()?在子组件中定义:import{ref,defineExpose}from'vue'exportdefault{setup(){constcount=......
  • python推导式
    1.格式第一部分:表达式;第二部分:循环;第三部分:条件(可有可无)。 2.列表推导式 结果是列表;格式:[ ]        Python列表推导式是一种简洁的语法,用于从现有的列表或其他可迭代对象中创建新的列表。它的语法有:[expressionforiteminiterableifcondition]其中,expr......
  • Python小工具—批量移除照片背景
    先上代码。fromrembgimportremoveimportcv2importosdeflist_image_files(directory):#支持的图片文件扩展名列表image_extensions=['.jpg','.jpeg','.png','.gif','.bmp','.tiff']#存储找到的图片文件......
  • python中字典的用法
    1.字典的定义在Python中,字典(Dictionary)是一种可变的容器模型,它可以存储任意类型对象,如整数、浮点数、字符串、列表、元组等。字典的每个元素都是一个键值对(key-valuepair)。键(key)用于唯一标识一个元素,而值(value)则是与该键相关联的数据。字典是无序的,即元素的存储顺序与它们的......
  • asyncio/trio fastdfs python client
    Codets.py#!/usr/bin/envpython"""FastDFS并发测试脚本Usage::$python<me>.py200--show"""importfunctoolsimportitertoolsimportjsonimportosimportpickleimportsysimporttimefrompathlibimportPathfr......