# ========= format ==========
# b:二进制,o:八进制,x:十六进制
print(format(10, '08b')) # 往左补齐8位0的二进制
# ========= ord chr ==========
print(ord('中')) # 字符转换为unicode
print(chr(20013)) # unicode转换为字符
# ========= all any ==========
print(all([0, "1", 'hello'])) # 当成and,false and true and true
print(any([0, "1", 'hello'])) # 当成or,false and true and true
# ========= enumerate ==========
lst = ['a', 'b', 'c']
for k, v in enumerate(lst):
print(k, v)
# ========= global nonlocal ==========
# a = 10
# def func():
# global a #引入全局变量
# a = 20
# func()
# print(a) # 20
# def func():
# a = 10
# def func2():
# nonlocal a # 向外找一层,如果有变量就引入,如果没有继续向外找,直到全局(不包括全局)
# a = 20
#
# func2()
# print(a)
# func() # 20
# ========= zip ==========
# 把多个可迭代内容合并
lst1 = ['zhangsan', 'lisi', 'wangwu']
lst2 = [10, 20, 30]
lst3 = ['aa', 'bb', 'cc']
res = zip(lst1, lst2, lst3)
for item in res:
print(item)
# ('zhangsan', 10, 'aa')
# ('lisi', 20, 'bb')
# ('wangwu', 30, 'cc')
# ========= 排序 ==========
lst = [2, 4, 1, 5, 6]
print(sorted(lst)) # [1, 2, 4, 5, 6]
print(sorted(lst, reverse=True)) # [6, 5, 4, 2, 1]
lst = ['张三', '李四1', '王五', '赵六12']
print(sorted(lst, key=lambda item: len(item), reverse=True)) # ['赵六12', '李四1', '张三', '王五']
print(sorted(lst, key=lambda item: len(item))) # ['张三', '王五', '李四1', '赵六12']