奇技淫巧
Python3 技巧系列丨语法技巧丨奇技淫巧
IT.BOB
专注网络爬虫/JS逆向/APP逆向/风控策略研究
展开
-
【Python 必会技巧】使用 Python 追加写入 json 文件或更改 json 文件中的值
追加写入 json 文件 有一个 test.json 文件,包含内容如下:{ "key_1": "value_1"}现需要追加写入 json 文件,向其中增加值,使其包含内容如下:{ "key_1": "value_1", "key_2": "value_2"}Python 代码实现:import jsonnew_data = {"key_2": "value_2"}with open("test.json", "r", encoding="utf-8".原创 2020-08-30 20:26:48 · 17272 阅读 · 3 评论 -
【Python 必会技巧】[i for i in range(1,10)] — 列表解析式,列表中使用 for 循环
经常会看到类似于 [i for i in range(1,10)] 的表达式,这种表达式称为列表解析(List Comprehensions),类似的还有字典解析、集合解析等等。列表解析式是将一个列表(实际上适用于任何可迭代对象)转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。每个列表解析式都可以重写为 for 循环...原创 2020-03-08 00:09:59 · 94442 阅读 · 19 评论 -
【Python 必会技巧】使用 zip() 函数对序列进行压缩和解压操作
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。利用 * 号操作符,可以将元组解压为列表。zip() 函数基本语法:zip([iterable, ...]),iterable 表示一个或多个迭代对象,可以是字符串,列表,元组或字典。应用举例:>>>...原创 2020-02-20 23:58:12 · 1046 阅读 · 2 评论 -
【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
先举个例子,分别以不指定编码、指定编码为 utf-8、指定编码为 utf-8-sig 三种方式来做比较,再将写入 csv 文件和 txt 文件来做个对比一、不指定编码方式,直接存入 csv 文件import csvwith open('test.csv', 'w') as fp: writer = csv.writer(fp) writer.writerow(['汉语',...原创 2020-02-20 21:59:22 · 13849 阅读 · 5 评论 -
【Python 必会技巧】copy 模块中 copy() 与 deepcopy() 函数的区别
Python 中赋值语句不复制对象,而是在目标和对象之间创建绑定关系。对于自身可变或者包含可变项的集合对象,开发者有时会需要生成其副本用于改变操作,进而避免改变原对象。copy 模块提供了通用的浅层复制 copy() 和深层复制 deepcopy() 操作。copy() 仅复制对象本身,而不对其中的子对象进行复制,如果对原子对象进行修改,那么浅层复制之后的对象也会随着修改。deepco...原创 2020-02-20 16:57:21 · 1300 阅读 · 2 评论 -
【Python 必会技巧】lambda 表达式(匿名函数)及其在内置函数中的应用
lambda 表达式,又称匿名函数,即,函数没有具体的名称,常用来表示内部仅包含 1 行表达式的函数。使用 lambda 编写的代码更加简洁紧凑,但是 lambda 函数支持的功能却是十分有限的,目前 PEP8 已经不建议使用 lambda,而是推荐使用 def 去定义一个函数,即便如此,作为 Python 程序员,认识和了解该匿名函数还是有必要的。lambda 只是一个表达式,函数体比 d...原创 2020-02-19 21:29:10 · 1168 阅读 · 0 评论 -
【Python 必会技巧】判断字符串是否为字母/数字/大小写/空白字符/有效标识符/可打印字符
简单来说:str.isalnum():判断所有字符是否都是数字或者字母str.isalpha():判断所有字符是否都是字母str.isdigit():判断所有字符是否都是数字str.islower():判断字符串中所有字母是否都是小写str.isupper():判断字符串中所有字母是否都是大写str.istitle():判断字符串中所有单词的首字母都是大写...原创 2020-02-19 17:03:03 · 5891 阅读 · 0 评论 -
【Python 必会技巧】使用 join() 方法将序列中的元素拼接成字符串
Python 中 join() 方法可以将序列中的元素以指定的字符连接生成一个新的字符串。该序列可以是字符串、元组、列表或者字典join() 方法的语法:'str'.join(sequence),其中 str:分隔符,可以为空;sequence:要连接的元素序列对字符串进行操作:>>> sequence = 'I Love Python'>>> prin...原创 2020-02-18 21:28:07 · 3576 阅读 · 4 评论 -
【Python 必会技巧】使用 split() 方法对字符串进行切片
split() 方法可以将一个字符串按照指定的分隔符分割成多个子字符串,子字符串将会保存到列表中(不包含分隔符)split() 方法的语法:str.split(sep,maxsplit)str:要分割的字符串sep:用于指定分隔符,可以包含多个字符 (例如 '1<>2<>3'.split('<>') 将返回 ['1', '2', '3'])。此参数默认为 ...原创 2020-02-18 20:42:58 · 2809 阅读 · 0 评论 -
【Python 必会技巧】三元表达式(三目运算符)
三元表达式是编程中的一个固定格式,一般编程语言的格式为:判段条件 ? 条件为真时的结果 : 条件为假时的结果,举例说明:int A,B,C; A = 1;B = 2; C = A > B ? 10 : 20; 解释:如果 A > B,就将 10 赋值给 C,否则将 20 赋值给C,所以此时 C 的值为 10但是 Python 中的三元表达式与其他语言有所不同,格式为:条...原创 2020-02-18 19:50:36 · 1187 阅读 · 0 评论 -
【Python 必会技巧】对字典按照键(key)或者值(value)排序
先总结一下,分为以下四种情况:情况一:按照键排序,只输出排序后所有的键情况二:按照值排序,只输出排序后所有的值情况三:按照键排序,同时输出排序后所有的键和对应的值情况四:按照值排序,同时输出排序后所有的键和对应的值情况一:按照键排序,只输出排序后所有的键直接使用 sorted() 方法,默认是对字典的键进行排序>>> dict = {'b': 2, 'a': 1...原创 2020-02-18 18:13:47 · 3247 阅读 · 2 评论 -
【Python 必会技巧】获取字典中(多个)最大值(value)的键(key)
先总结一下,分为以下四种情况:情况一:最大值只有一个,只获取最大值(value)所对应的键(key)情况二:最大值只有一个,同时获取最大值(value)和所对应的键(key)情况三:最大值有多个,获取所有最大值(value)所对应的键(key)情况一:最大值只有一个,只获取最大值的键方法一:使用 get>>> dict = {'two': 2, 'one': 1,...原创 2020-02-17 22:16:32 · 17742 阅读 · 0 评论