1. 字典嵌套按照值的长度排序:
d = {'a':[{},{},{}], "b":[{}], "c":[{},{},{}], 'd':[{},{}]}
倒序:
dd = dict(sorted(d.items(), key=lambda item:len(item[-1])))
正序
dd = dict(reversed(sorted(d.items(), key=lambda item:len(item[-1]))))
2. 合并两个字典, 相同键相加, 不同则合并
a = {"a": 1, "b": 0, "c": 2}
b = {"a": 0, "b": 2}
c = {k: v + b.get(k,0) for k,v in a.items()}
3. 合并字典
1. a_dict.update(b_dict)
2. c_dict = {**a_dict, **b_dict}
4. 判断键是否存在字典中
key_exists = True if key in a_dict else False
5. 两个列表合并成字典
kv_dict = dict(zip(key_list, value_list))
6. 字符串提取数字
num = re.sub(r"[^\d]", "", value) or 0
7. 合并列表
1. a_list += b_list
2. a_list.extend(b_list)
8. 变量赋值
a = d_dict.get("a") or "a"
9. 变量交换
a, b = b, a
10. 多变量同时赋值容器
a, b, c = (a, b, c)
11. 反转列表
a_list[::-1]
12. 求b列表在a列表中不存在的值
exists_b_list = [value for value in b if value not in a]
13. 判断是否都为真(有假则为False)
In [29]: all(("a", 0))
Out[29]: False
14. 判断是否含有真值(有真则为True)
In [31]: any(("a", 1))
Out[31]: True
15. 计算文件行数
def get_row_num(file_pname):
for count, line in enumerate(open(file_pname, 'r'), start=1):
pass
return count
16. 读取文件为list
1. [line for line in open("test.py")]
2. open("test.py").readlines()
17. 生成md5 值
import hashlib
def genearte_hash(value):
if not isinstance(value, str):
value = str(value)
hl = hashlib.md5()
hl.update(value.encode(encoding='utf-8'))
return hl.hexdigest()
18. 设置某个模块的输出logging等级
logging.getLogger("requests").setLevel(logging.WARNING)
更新ing...