python基础-容易被忽略的内置函数

82 阅读1分钟
# ========= 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']