# print(list("胡辣汤")) # lst = ["河南话", "四川话", "东北", "山东", "上海"] # # r = reversed(lst) # print(list(r)) # huiwen = "不是上海自来水来自海上" # s = huiwen[::-1] # it = reversed(huiwen) # 返回的是迭代器 # s = "" # for el in it: # s += el # print(s) # lst = ["河南话", "四川话", "东北", "山东", "上海"] # s = slice(3,5) # 切片. 麻烦 # print(lst[s]) # s = "我叫{name}, 我来自{home}, 我喜欢干{hobby}".format(name="周杰伦", home="台湾", hobby="唱歌") # print(s) # # name = "周杰伦" # home="台湾" # hobby="唱歌" # # print(f"我叫{name}, 我来自{home}, 我喜欢干{hobby}") # s = "门神" # s1 = s.center(20) # print(s1) # # print(format("门神", "^20")) # print(format("门神", "<20")) # print(format("门神", ">20")) # print(format(3, 'b')) # ⼆二进制 binary 0b11 # print(format(65, 'c')) # 转换成unicode字符 ascii # print(format(11, 'd')) # ⼗十进制 # print(format(11, 'o')) # ⼋八进制 0o 13 # print(format(11, 'x')) # ⼗六进制(⼩写字⺟) # print(format(11, 'X')) # ⼗六进制(⼤写字⺟) # print(format(11, 'n')) # 和d⼀样 # print(format(11)) # 和d⼀样 # print(format(123456789, 'e')) # 科学计数法. 默认保留6位小数 表示大的数据 # print(format(123456789, '.2e')) # 科学计数法. 保留2位小数(⼩写) # print(format(123456789, '0.2E')) # 科学计数法. 保留2位⼩数(⼤写) # 浮点计数法 # print(format(1.23456789, 'f')) # 浮点数计数法. 保留6位⼩数 # print(format(1.23456789, '0.2f')) # ⼩浮点数计数法. 保留2位⼩数 # print(format(1, '0.10f')) # ⼩浮点数计数法. 保留10位⼩数 # print(format(1.23456789e+10000, 'F')) # ⼩浮点数计数法. # a = 0b11 # 数字3 # print(type(a)) # print(a) # print(ord("中")) # 20013 # print(chr(20014)) # for i in range(65536): # print(chr(i), end= " ") # print(ascii("a")) # 判断出你给的信息是否是ascii # 转义字符\n 换行\t tab 制表符\r 回车\" 双引号\' 单引号\\ \
print('你好, 我叫周杰伦.我来自\\n台湾. 我老婆叫昆凌') repr() # 还原字符串最官方的效果str:python的字符串repr: 所有的字符串print(repr("你好. \\n我叫\周杰伦")) # python -> repr() -> cpython c里面. 报错 # print(r"\n\t范德萨发生\r\b\ffdsaf") # 原封不动的显示字符串 # 函数自己调用自己 # def func(): # print("我是递归") # func() # # func() # 官方最大1000,你永远跑不到1000, 我实测998 # while 1: # print("我不是递归") # 树形结构的遍历 # import os # # def func(lujing, n): # "d:/a/" # lst = os.listdir(lujing) # 打开文件夹. 列出该文件夹内的所有文件名 # for el in lst: # el是文件的名字. b, c # # 还原文件路径 # path = os.path.join(lujing, el) # "d:/a/b" # if os.path.isdir(path): # 判断路径是否是文件夹 # print("..." * n,el) # 显示文件夹的名字 # func(path, n + 1) # 在来一次 ################ # else: # print("\t" * n,el) # 显示文件 # # func("d:/a", 0) # def func(lujing, n): # d:/a/b # lst = os.listdir(lujing) # for el in lst: # b, c # # 路径 # path = os.path.join(lujing, el) # 拼接路径 d:/a/b # # 判断是文件还是文件夹 # if os.path.isdir(path): # print("\t" * n, el) # func(path, n+1) # else: # f = open(path, mode="wb") # f.write(b'1') # print("\t" * n, el) # # # func("d:/a/", 0) # 二分法查找主要的作用就是查找元素 # lst = [1,3,5,7,12,36,68,79] # 数据集 百万级数据 # num = int(input("请输入你要查找的元素信息:")) # # for el in lst: # if num == el: # print("存在") # break # else: # print("不存在") # len(lst) # 0 1 2 3 4 5 6 7 # [1,3,5,7,12,36,68,79] # n = 28 # 3 # 规则. 掐头结尾取中间, 必须是有序序列, # 100000000 # 二分法查找 (需要你明白和掌握) # lst = [1,3,5,7,12,36,68,79] # n = int(input("请输入一个数")) # # left = 0 # right = len(lst) - 1 # # while left <= right: # mid = (left + right)//2 # if n > lst[mid]: # left = mid + 1 # elif n < lst[mid]: # right = mid - 1 # else: # print("存在") # break # # else: # print("不存在")
1 # 递归 2 # def func(n, lst): 3 # 4 # left = 0 5 # right = len(lst) - 1 6 # if lst != []: 7 # mid = (left + right)//2 8 # if n > lst[mid]: 9 # func(n, lst[mid+1:]) # 改变列表 10 # elif n < lst[mid]: 11 # func(n, lst[:mid]) 12 # else: 13 # print("找到了") 14 # return 15 # else: 16 # print("没找到") 17 # return 18 # 19 # n = int(input("请输入你要查找的数:")) 20 # func(n, [1,3,5,7,12,36,68,79]) # 78
1 # 递归二 (需要你明白和掌握) 2 # def func(n, lst, left, right): # 递归找到什么是可以变的. 什么是不可以变的 3 # if left <= right: 4 # mid = (left + right) // 2 5 # if n > lst[mid]: 6 # left = mid + 1 7 # return func(n, lst, left, right) 8 # elif n < lst[mid]: 9 # right = mid - 1 10 # return func(n, lst, left, right) # 递归如果有返回值. 所有调用递归的地方必须写return 11 # else: 12 # print("找到了") 13 # return mid # 难点 14 # else: 15 # print("找不到") 16 # return -1 17 # 18 # n = int(input("请输入你要查找的数:")) 19 # lst = [1,3,55,98,37,41,2,5,1,4] 20 # ret = func(n, lst, 0, len(lst)-1) # 78 21 # print(ret)
# 最快的查询
1 lst = [1,3,55,98,37,41,2,5,1,4] 2 3 new_lst = [] 4 for i in range(99): 5 new_lst.append(0) 6 7 8 for i in lst: # 1,3,55,98 9 new_lst[i] = 1 10 11 print(new_lst) 12 13 14 i = int(input('请输入你要找的数据')) 15 if new_lst[i] == 0: # 1次 16 print("不存在") 17 else: 18 print("存在")
如果发现错误,请留言,谢谢!
浙公网安备 33010602011771号