一、列表
1.查询列表(列表的下标只能是int类型)
namelist = ['张三', '李四', '王五'] print(namelist[2]) #输出>>>王五
2.循环遍历列表
# for循环 for name in namelist: print(name) # while循环 length = len(namelist) i = 0 while i < length: print(namelist[i]) i += 1
3.列表的增删改查操作
a = [1, 2] b = [3, 4] # append 新增数据到列表尾部 namelist.append('赵六') print(namelist) # 输出>>>['张三', '李四', '王五', '赵六'] a.append(b) print(a) # 输出>>>[1, 2, [3, 4]] # extend 将元素拆散依次加入列表 a.extend(b) print(a) # 输出>>>[1, 2, [3, 4], 3, 4] # insert(索引下标, 要插入的元素) 将元素插入到列表中的某个位置 a = [0, 1, 2] a.insert(1, 3) print(a) # 输出>>>[0, 3, 1, 2] # del 删除列表索引 a = [1, 2, 3, 4, 5, 6] del a[2] print(a) # 输出>>>[1, 2, 4, 5, 6] # pop 弹出(删除)列表最后一个元素 a = [1, 2, 3, 4, 5, 6] a.pop() print(a) # 输出>>>[1, 2, 3, 4, 5] # remove 删除列表中第一次出现的某个元素值 namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五'] namelist.remove('王五') print(namelist) # 输出>>>['张三', '李四', '赵六', '刘七', '王五'] # 修改列表元素值 namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五'] namelist[2] = '孙八' print(namelist) # 输出>>>['张三', '李四', '孙八', '赵六', '刘七', '王五'] # 判断变量值是否在列表中存在 namelist = ['张三', '李四', '孙八', '赵六', '刘七', '王五'] findname = '张三' if findname in namelist: print('存在') else: print('不存在') # 查询元素在列表中指定范围的位置下表, 范围区间左闭右开[1, 3) # 在指定范围内差找不到会报错 namelist = ['张三', '李四', '孙八', '赵六', '刘七', '王五'] print(namelist.index('赵六', 1, 4)) # 输出>>>3 # count 统计某个元素在列表中出现的次数 namelist = ['张三', '李四', '王五', '赵六', '刘七', '王五'] print(namelist.count('王五')) # 输出>>>2 # 列表排序 a = [1, 4, 2, 3, 6, 5] # reverse 将列表元素翻转排序 a.reverse() print(a) # 输出>>>[5, 6, 3, 2, 4, 1] # sort 将列表元素升序排列 a.sort() print(a) # 输出>>>[1, 2, 3, 4, 5, 6] sort(reverse=True) # 将列表元素降序排列 a.sort(reverse=True) print(a) # 输出>>>[6, 5, 4, 3, 2, 1]
二、元组 tuple
# 元组的定义 tup1 = (1, 2, 3) print(type(tup1)) # 输出>>><class 'tuple'> # 元组的基本访问 tup1 = ('aaa', 'bbb', 'ccc', 'ddd', 'eee', 2020) print(tup1[0]) # 输出>>>aaa print(tup1[-1]) # 输出>>>2020 print(tup1[1:5]) # 切片,左闭右开 输出>>>('bbb', 'ccc', 'ddd', 'eee') # 元组的拼接 tup1 = (1, 2, 3) tup2 = ('a', 'b') tup = tup1 + tup2 print(tup) # 输出>>>(1, 2, 3, 'a', 'b') # 元组的删除 tup1 = (1, 2, 3) del tup1 # 直接删除变量, 相当于PHP的unset print(tup1) # 输出>>>报错
三、字典
# 字典的定义 info = {'id':1, 'name':'张三', 'age':18} # 字典的访问 print(info['name']) # 输出>>>张三 # 访问不存在的键 print(info['sex']) # 输出>>>报错 print(info.get('sex')) # 使用get方法,默认输出>>>None print(info.get('sex', '男')) # 访问不存在的键可以设置默认值 输出>>>男 print(info.get('age', '20')) # 访问存在的键, 设置默认值不生效, 依旧输出原值>>>18 # 字典 -> 增 info['id'] = 123456 print(info) # 输出>>>{'name': '张三', 'age': 18, 'id': 123456} # 字典 -> 删 del print("删除前: %s"%info['name']) del info['name'] # 删除了指定键值对后, 再次访问会报错 print('删除后: %s'%info['name']) # clear 清空 print("清空前: %s"%info) # 输出>>>清空前: {'name': '张三', 'age': 18} info.clear() print("清空后: %s"%info) # 输出>>>清空后: {} # 字典 -> 查 print(info.keys()) # 得到字典内所有键的列表 输出>>>dict_keys(['id', 'name', 'age']) print(info.values()) # 得到字典内所有值的列表 输出>>>dict_values([1, '张三', 18]) print(info.items()) # 得到字典内所有键值对的元组 输出>>>dict_items([('id', 1), ('name', '张三'), ('age', 18)]) # 遍历字典 for key,value in info.items(): print('key=%s,value=%s'%(key,value)) # 输出>>>key=id,value=1 # >>>key=name,value=张三 # >>>key=age,value=18 # 使用枚举函数 同时输出列表的键和值 mylist = ['a','c','d','e'] for i,x in enumerate(mylist): print(i,x) # 集合 set() # 集合中只存储键, 且键值是唯一的, 集合中不能有相同的元素 s = set([1,1,2,2,3,3,4,4]) print(s) # 输出>>>{1, 2, 3, 4} # 通常使用在去重操作中
四、函数
# 函数的定义 def add2Num(a, b): c = a + b return c print(add2Num(25,98)) # 输出>>>123 # 多个返回值的函数 def divNum(a, b): shang = a//b yushu = a%b return shang, yushu sh, yu = divNum(5, 2) print('商: %d, 余数: %d'%(sh,yu)) # 输出>>>商: 2, 余数: 1 # 在函数中修改全局变量 a = 100 def test1(): global a # 声明全局变量在函数中的标识符 print('修改前: a=%d'%a) a = 200 print('修改后: a=%d'%a) test1() # 输出>>>修改前: a=100 # >>>修改后: a=200
五、文件操作
# 打开/关闭文件 f = open('test.txt', 'w') # w为写模式, 不存在则创建 # 写入文件 f.write('hello, i am zhangsan!') # 读取文件 f = open('test.txt', 'r') a = f.read(5) # read(字符数) print(a) # 输出>>>hello b = f.read(5) # 会接着上一次的read结束的位置继续读取 print(b) # 输出>>>, i a # 按行读取 a = f.readline() 按行读取所有行, 返回结果为列表 a = f.readlines() print(a) f.close()
六、异常捕获
# 异常捕获后不会显示报错 try: print('-------异常前-------') f = open('123.txt', 'r') # 以只读的方式打开不存在的文件, 报错后下面代码不会执行 print('-------异常后-------') except IOError: # 文件没找到属于IO异常, 异常类型想要被捕获, 需要与报错信息中的类型一致 except (IOError, NameError): # 捕获多种错误可以用括号 except (IOError, NameError) as errMsg: # 捕获多种错误可以用括号 print('文件不存在') print(errMsg) pass # 捕获异常后,执行的代码 # 捕获所有异常 try: print(sss) except Exception as errMsg: # Exception为所有异常的父类,可以捕获所有异常信息 print(errMsg) # 发生异常后也要执行 try: print(ass) except Exception as errMsg: print(errMsg) finally: print('运行完毕')