小节复习
1、列表与元组的区别是什么?
元组是与列表非常类似的另一个序列数据类型。元组是由多个值以逗号分隔。然而,与列表不同,元组被括在小括号内(()
)。
列表和元组之间的主要区别是 - 列表括在括号([]
)中,列表中的元素和大小可以更改,而元组括在括号(()
)中,无法更新。元组可以被认为是只读列表。
touple2=("go","to",) # 检索元素个数(count) print(touple2.count("go")) #索引位置 print(touple2.index("go")) list1=[1,2,3,4,5,6,7,8,9] # 删除7 list1.remove(7) # 后缀加69 list1.append(69) list3=["go","java"] # 把list3后缀到list1里 list3.extend(list1) print(list1)
2、结合具体的代码案例说明演示字典的有序和字典的排序
# 字典本身是无序的,但是可以参照字典的“键”或“值” 排序生成新的元组列表来输出
# 字典的有序 from collections import OrderedDict # dict1 ={"name":"王荣","age":18,"address":"lanzhou","city":"兰州"} print (dict1) # 通过ascll码进行字典的排序 data = dict(sorted(dict1.items(), key=lambda item: item[0])) print(data)
3、使用列表推导式实现取出100数字以内整除2的数字
a = [x for x in range(1, 101) if x % 2 == 0] print(a)
4、在如下数据中获取学生成绩,输出如下几点:
A、学生最大,最小,平均成绩
B、过滤出成绩大于等于60的学生成绩
C、过滤出成绩小于60分的
dict1={'status':0,'msg':'msg','data':[ {'name':"lisi","score":"90"}, {'name':"wangwu","score":"60"}, {'name':"lisi1","score":"88"}, {'name':"lisi2","score":"59"}, {'name':"lisi3","score":"24"}, {'name': "lisi4", "score": "66"}, {'name': "lisi5", "score": "70"}, {'name': "lisi6", "score": "45"}, {'name': "lisi7", "score": "39"} ]} list1=[] for i in dict1['data']: list1.append(int(i['score'])) print('最高成绩:',max(list1)) print('最低成绩:',min(list1)) print('平均成绩:',sum(list1)/len(list1)) # B、过滤出成绩大于等于60的学生成绩 print('成绩大于等于60的学生成绩:',[i for i in list1 if i>=60]) # C、过滤出成绩小于60分的学生成绩 print('成绩大于等于60的学生成绩:',[i for i in list1 if i<60])
5、结合函数的返回值编写一个案例
def data1(): return {"name":"wuya","age":"18","address":"xian","city":"lanzhou"} print(data1()) def data2(**kwargs): return kwargs print(data2(**{"name":"wuya","age":"18","address":"xian","city":"lanzhou"}))
6、什么是序列化与反序列化,结合字典编写,结合文件实现
序列化:把第三方内容写到文件中(也就是python对象(字典,列表,元组)转为字符串的过程)
反序列化:从文件中读取数据(也就是把字符串转为python对象(字典,列表,元组)的过程)
'''字典的序列化与反序列化''' import json dict1={"name":"王荣","age":18,"address":"lanzhou","city":"兰州"} dict_string=json.dumps(dict1,indent=True,ensure_ascii=False) print(dict_string,type(dict_string)) string_dict=json.loads(dict_string) print(string_dict,type(string_dict)) '''字典的序列化与反序列化''' import json dict1={"name":"王荣","age":18,"address":"lanzhou","city":"兰州"} json.dump(dict1,open('json.txt','w')) file=json.load(open('json.txt','r')) print(file,type(file))
7、获取当前时间
import time import datetime print('获取当前时间为:',datetime.datetime.fromtimestamp(time.time()))
8、编写一个读取文件内容和把内容写入文件的程序
# 用户登录系统: import json def out(): username= input('请输入账户:\n') password= input('请输入密码:\n') return username,password def registered(): username,password = out() temp=username+"|"+password with open('login.txt','w') as f: f.write(temp) def login(): username,password = out() with open('login.txt','r') as f: list1=f.read().split('|') if username==list1[0] and password==list1[1]: return True else: return '您的输入有误,请检查登录名和密码是否错误' def profile(): with open('login.txt', 'r') as f: list1 = f.read().split('|') print('欢迎登录xxx网页!!!') def main(): while True: try: f=int(input('1、注册 2、登录\n')) if f==1: registered() elif f==2: if login()==True: profile() else: print('您的输入有误,请检查登录名和密码是否错误') else: break except:continue if __name__ == '__main__': main()