/1 前言/ 上个星期的时候,小编给大家分享了手把手教你使用Python批量创建复工证明一文,事实证明,这篇文章真的很实用,没有来得及上车的小伙伴,现在上车也来得及噢。...从反馈情况来看,很多小伙伴已经亲自去尝试了,达到了预期的效果。不过有部分小伙伴在实现过程中,却遇到了拦路虎,这里整理一下几个实现过程中的难点,以方便后面遇到相似问题的小伙伴,不再入坑。.../2 目标/ 1.例举3个常见的问题,并给出相应的解决方案。 /3 问题一/ Q1:没有docx-mailmerge这个库。...Ans1:还记得那个换源的文章嘛?...一共有两篇文章:手把手教你进行pip换源,让你的Python库下载嗖嗖的,手把手教你进行pip换源,让你的Python库下载嗖嗖的(系列二),使用镜像进行下载,让你的下载速度嗖嗖的,这里直接给出安装命令
Counter类型也是一个继承自dict类型的容器,同时也是一个集合,元素及其计数值存储为key:value值。这里,计数可以是任何整数值,包括0和负数。...A+B #计数器相加 A-B #计数器相减 A&B #计数器交集 A|B #计数器并集 利用这些接口,可以方便的实现特定的一些计数统计,包括出现最多的元素及其个数、加减法等。...对实例进行inplace操作,无返回值,而__sub__返回相减后的结果 subtract是简单的完成元素及其计数的减法,即:A、B都有的元素,结果是基数之差,0个也会包含在结果中;A有B无的,则直接返回...A的计数值;A无B有的,则会按A中相应元素计数为0去操作减法,返回的是B中元素计数值的负数 __sub__中以"-"操作符前面的对象为主(姑且叫做前向保留),即忽略前面没有而后面对象特有的元素,当共有元素计数相减为...利用Counter初始化时保留迭代元素出场顺序的特点: 字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。
python字符串(String) 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。...>>>a[1:4] 'ell' in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>"H" in a True python字符串格式化 Python 支持格式化字符串的输出 。...三引号 python中三引号可以将复杂的字符串进行复制: python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。...序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。...如字符串,数字或元组,如: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 访问字典里的值 把相应的键放入熟悉的方括弧,代码如下: dict
每个tuple由字典的键和相应值组成 clear() 删除字典的所有条目 copy() 返回字典高层结构的一个拷贝,但不复制嵌入结构,而只复制对那些结构的引用 update(x) 用字典x中的键值对更新字典内容...、添加与删除 可以使用字典对象的pop()删除指定“键”对应的元素,同时返回对应的“值" popitem()方法用于删除字典的一个键对,并返回一个包含两个元素的元组,其中的两个元素分别是字典元素的“键”...而不能包含列表.字典、集合等可变类型的数据,包含列表等可变类型数据的元组也不能作为集合的元素。...可以使用大括号{ }或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{ },因为{ }是用来创建一个空字典。...for in 字符串迭代 常用方法 index(x)、rindex(x): 检测x是否包含在字符串中,返回相应的索引值,如果不存在。
使用enumerate()循环整个序列: 当循环遍历一个序列(如列表、元组、范围对象、字符串)时,可以使用enumerate()函数同时检索位置索引和相应的值。...使用enumerate()遍历列表: 示例1: 使用enumerate()函数遍历列表,返回一个包含可迭代对象中的计数和值的元组。一般情况下,计数从0开始。...: 示例: 使用enumerate()函数遍历字符串将返回一个包含可迭代对象的计数和值的元组。...循环查找字典。 当循环遍历字典时,可以使用items()方法同时检索键和相应的值。...在迭代时修改集合: 在遍历同一个集合时修改集合的代码可能很难正确处理。相反,循环遍历集合的副本或创建一个新集合通常更简单。
1、引用计数器 2、垃圾回收机制 每个对象都会维护一个自己的引用计数器,每次对其引用,计数器就会加1.当一个对象的计数器为零时,垃圾回收机制就会把他从内存中清除,释放它之前占用的内存空间。...如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。...的简写 %p 用十六进制数格式化变量的地址 Python三引号 **Python三引号允许一个字符串跨多行,字符串中包含换行符、制表符以及其他符号,如下: para_str = """这是一个多行字符串的实例...创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 4 radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default...可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
字典的键将是 iterable 的唯一元素,每个键的值将是 iterable 中元素的计数。...当它应用于计数器对象时,它返回 n 个最常见元素及其计数的列表,按从最常见到最少见的顺序排列。...这是一种简单快捷的方法,比如「获取列表中最常见的前 3 个元素及其计数」。 要了解更多有关计数器功能的信息,请查看官方文档。...但是使用 defaultdict,一个新的 key 会自动初始化为「sara」,值为 0,对应于我们的 int 数据类型。因此,最后一行打印出一个包含所有 3 个名称和相应值的字典。...namedtuple()返回一个元组,该元组中每个位置的名称都是固定的,而 namedtuple 对象的名称是通用的。要使用 namedtuple,首先为它创建一个模板。
一、对象和引用、内存管理机制 不可变对象类型有:整数、浮点数、布尔值、字符串、元组等 可变对象类型有:列表、字典、集合、可变的字节数组、用户自定义类 Python 的内存管理机制,包括引用计数...对于基本数据类型(整数、浮点数、布尔值、字符串)或只包含不可变对象的复合数据类型(列表、元组、字典、集合),浅拷贝是安全且高效的。...但如果原始对象包含其他可变对象(有嵌套的复杂对象,例如:列表中的列表和字典中的字典),则复制的对象将与原始对象共享内部子对象。这意味着对复制对象的内部子对象的修改也会反映在原始对象上。...对于不同的类型,复制过程可能有所不同。 递归复制:对于嵌套的对象(如列表中的列表、字典中的字典和自定义对象等),deepcopy() 会复制原始对象及其所有子对象。...虽然深拷贝提供了对象的完全独立性,但对于特别大的对象或包含复杂引用的对象,它比浅拷贝更耗时和消耗内存,因为它需要递归地复制原始对象及其所有子对象。
\\]^_`{|}~': text = text.replace(char, ' ') # 将文本拆分为单词列表 words = text.split() # 创建一个空字典来存储单词计数...,并返回一个字典,其中包含文本中每个单词及其出现的次数。...words = text.split():将处理后的文本字符串按空格分割为单词列表。word_count = {}:创建一个空字典,用于存储单词计数,键是单词,值是该单词在文本中出现的次数。...word_count[word] = 1:将新单词添加到字典中,并将其出现次数设置为1。return word_count:返回包含单词计数的字典。...使用循环遍历文本中的单词,使用字典来存储单词及其出现次数。进一步优化与扩展:引入正则表达式和Counter类,使代码更高效和健壮。使用正则表达式将文本分割为单词列表,包括处理连字符单词。
%X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %f 和 %...,字符串中可以包含换行符、制表符以及其他特殊字符。...'abc':123,98.6:37}; 访问字典里的值 把相应的键放入熟悉的方括弧,如下实例: #!...图18 字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素。 2 len(dict)计算字典元素个数,即键的总数。...()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 4 radiansdict.get(key, default=None)返回指定键的值,如果值不在字典中返回default
一 ,计数器(counter) Counter是对字典类型的补充,用于追踪值得出现次数 ps:具备字典的所有功能 + 自己的功能 例: >>> from collections import Counter...>>> c.clear() >>> c Counter() 8.elements()取得计数器中的所有元素,注:此处非所有元素集合,而是包含所有元素集合的迭代器 >>> c = Counter...('abcabc') >>> sorted(c.elements()) ['a','a','b','b','c','c'] 9.subtract()相减,原来的计数器中的每一个元素的数量减去后添加的元素的数量...value) 7 else: 8 my_dict['k2'].append(value) 四,可命名元组(namedtuple) 根据nametuple可以创建一个包含...tuple所有功能以及其他功能的类型。
动态指定参数 符 号描述%c格式化字符及其ASCII码%s格式化字符串: 'a %s parrot' % 'kind'%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数...%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g%f和%e的简写%G%f 和 %E 的简写%p用十六进制数格式化变量的地址...可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。...注意: 1、字典是一种映射类型,它的元素是键值对。 2、字典的关键字必须为不可变类型,且不能重复。 3、创建空字典使用 { }。...set(s)转换为可变集合dict(d)创建一个字典。
1、从一个计数问题开始 初学Python的人很可能会遇到字频统计这样的练习题,那么很容易会想到使用for循环来做。 可是for循环的效率是很低的,而且会涉及到嵌套循环,代码及其冗余。...language" def str_count(strs): '''对字符串进行字频统计,使用字典的get方法进行判断''' str_dict = {} for i in strs...也就是说collections模块是作为Python内建容器的补充,在很多方面它用起来更加有效率。 Counter是字典的子类,用于计数可哈希对象。...计数元素像字典键(key)一样存储,它们的计数存储为值。 所以说Counter对象可以使用字典的所有方法。...,它继承了字典的所有方法。
只需学元组的创建和删除,元素的访问和计数即可。...元组支持如下操作: 索引访问 切片操作 连接操作 成员关系操作 比较运算操作 计数:元组长度len()、最大值max()、最小值min()、求和sum()等 元组的创建 tuple()可以接收列表、字符串...__next__()) # 报错:StopIteration 字典 介绍 字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。...Json 数据类型 操作 字典的创建 通过 {} + kv 来创建 通过dict()来创建字典对象(两种方式) 过zip()创建字典对象 通过fromkeys创建值为空的字典 # 字典(类比Json)...创建一个字典对象,包含如下信息:支出金额:300.15,支出日期:2022.04.27,支出人:拿破仑 name season winner 才子队 1 比尔 九头蛇队 2 皮尔斯 巨亨队 3 卡罗尔
它们提供了字典条目的一个动态视图,这意味着当字典改变时,视图也会相应改变。要将字典视图强制转换为真正的列表,可使用 list(dictview)。参见 字典视图对象。...不可变对象包括数字、字符串和元组。这样的对象不能被改变。如果必须存储一个不同的值,则必须创建新的对象。它们在需要常量哈希值的地方起着重要作用,例如作为字典中的键。...请查看 importlib.abc.MetaPathFinder 了解元路径查找器所实现的方法。 metaclass -- 元类 一种用于创建类的类。类定义包含类名、类字典和基类列表。...元类负责接受上述三个参数并创建相应的类。大部分面向对象的编程语言都会提供一个默认实现。Python 的特别之处在于可以创建自定义元类。...它们在功能上与首尾各用一个引号标注的字符串没有什么不同,但是有多种用处。它们允许你在字符串内包含未经转义的单引号和双引号,并且可以跨越多行而无需使用连接符,在编写文档字符串时特别好用。
引用计数增加的情况: (1)一个对象分配一个新名称 (2)将其放入一个容器中(如列表、元组或字典) 引用计数减少的情况: (1)使用 del 语句对对象别名显示的销毁 (2)引用超出作用域或被重新赋值...然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。...浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用,如果用引用的方式修改其中一个对象,另外一个也会修改改变。...(完全切片方法;工厂函数,如 list();copy 模块的 copy() 函数) 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象,修改其中一个,另外一个不会改变。...不同的是,match() 如果在字符串的开头有0个或更多个字符,符合正则表达式模式,返回相关匹配的实例对象,如果字符串不符合正则表达式模式则返回None;而search()则不同,扫描整个字符串,如果产生了一个匹配正则模式就寻找到这个位置
所有序列类型都是位置索引的(从0到长度−1),并且除了字符串,都可以包含任意类型的对象,在同一个序列中包括多种类型的对象。字符串和元组是不可变的,使得它们成为字典的键的完美候选者。...") >>> pi = float(pi) 四、字符串 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。...print(number) 列出从1到100万的数字 >>> numbers = list(range(1, 1000001)) 简单统计 您可以在包含数字数据的列表上运行许多简单的统计数据。...为此,请使用del关键字和字典名称,后跟方括号中的键。这将删除键及其关联值。...OrderedDict 标准的Python字典不会跟踪键和值的添加顺序,它们只保留每个键及其值之间的关联。
码 chr(65) #ascii码对应的字符 unichr(65) #数值65对应的unicode字符 bool(0) #转换为相应的真假值,0相当于False btw:”空” 值相当于...-1 列表可以包含:整数、字符串 列表是可变的,即创建后可以修改。...>> a.append(b) #将列表b添加到a中 9.2 写入文件 如果要写入的文件不存在,则会自动创建相应的文件并写入 >>>f = open("test.txt","r") >>>f.write...#将字符串写入文件 close() #关闭句柄 flush() #情况内部I/O缓存区,并将数据强行写回磁盘 seek(pos) #移动到指定的文件位置(整数) tell() #以整数形式返回当前文件位置...,创建出一个新的集合 >>>a = set([0,1,2]) >>>b = set([1,3]) >>>a.intersection(b) set([1]) issubset() #判断一个集合的所有元素是否都包含于另一个集合
而一个月后,Stack Overflow也分享了最新的编程语言浏览量统计数字,结果显示,Python的月活历史性地超越了Java和JavaScript,真正问鼎榜首。 “人生苦短,我选Python”。...查找list中出现次数最多的元素 给定一个包含多个元素的list,让你查找其中出现次数最多的元素,你会怎么做?...判断两个字符串是否是anagram 所谓anagram,就是两个词所用的字母及其个数都是一样的,但是它们字母的位置不一样,比如abc,bac,acb。...按value排序字典 Python的内置字典数据类型是无序的,而key可以被用来获取对应的value。有时我们需要根据value对字典中的item进行排序输出。...合并字典 方法一:Python 3.5可以存在重复键值,print({**d1,**d2})。 方法二:在内存中创建两个列表,再创建第三个列表,拷贝完成后,创建新的dict,删除掉前三个列表。
领取专属 10元无门槛券
手把手带您无忧上云